11
votes

Mettez la demande Ajax

Je suis nouveau à faire de la demande Ajax et j'ai mis en place le suivant Pastie . La ligne 107 est mon $ .put et je jette une erreur en Firebug que $ .put ne fonctionne pas. Quant à la demande Ajax, je sais que c'est faux, mais je suis tout à fait perdu sur ce que je dois faire à l'intérieur de la fonction de réussite addCell. Est-ce que je vais la bonne façon à ce sujet?

édité xxx


1 commentaires

Qu'est-ce que vous avez besoin est mis ou poster?


3 Réponses :


23
votes

Vous avez une erreur ici (la fonction succès code> doit être anonyme): XXX PRE>

doit être: P>

$.put('/url', { 'foo': 'bar' }, function(result) {
    // do something with the results of the AJAX call
});


15 commentaires

@DJJ, non, je voulais dire que vous avez invalide JavaScript là-bas. Le problème n'est pas qu'il soit vide. Nous verrons cela plus tard. Le problème est que dans votre code, vous avez écrit: Succès: fonction addCell () {} qui n'est pas valide. Il doit être Succès: fonction () {} . Et si vous vouliez appeler une fonction passée en tant que paramètre par exemple, vous pouvez: succès: rappel .


@DJJ, bien sûr que vous pouvez. Il suffit de le transmettre comme 3ème argument du $. Mettre Méthode: $. Mettez ("/" + getdiardiac () + "/ slot_days /" + getloTID + "/ SLOT_TIMES /" + 0 , slot_time, addcell);


Comme ceci: Succès: addcell ($. Mettez ("/" + getdiardioid () + "/ slot_days /" + getlotid + "/ slot_tiimes /" + 0, slot_time, addcell))


Non, c'est invalide JavaScript.


À droite, donc ce serait "/ slot_days"? C'est essentiellement que c'est le problème que je reçois i.imgur.com/pppnb.png chaque TEMPS I Appuyez sur le bouton 'plus'.


@DJJ, non, vous devriez passer une fonction sur le rappel de réussite. Comme Succès: addCell ou succès: fonction () {autre (); } .


@DJJ, non, ce n'est pas ce que je veux dire du tout. Lisez ma réponse une fois de plus. Je veux dire: succès: fonction (résultat) {rappel (); } .


Darin, vous devriez peut-être ajouter un exemple d'utilisation à votre réponse. En fait, les choses devraient être claires maintenant, mais toujours ...


@Sebastianwrgana, bien sûr, j'ai mis à jour ma réponse avec un exemple.


Darin dans l'exemple que vous avez fourni $. Mettez ('/ URL', {'FOO': 'bar'}, fonction (résultat) {// fait quelque chose avec les résultats de l'appel Ajax}); Vous attendez-vous que je dise que dans la fonction de réussite. Parce que précédemment, vous avez dit qu'il était supposé être Succès: fonction (résultat) {rappel (); }


@DJJ, vous pouvez utiliser le $ .put chaque fois que vous souhaitez envoyer une demande d'ajax.


@Darindimitrov est ce que j'ai d'accord?


@Darindimitrov Si vous voyez mon message, j'ai ajouté le code de ce que j'ai. J'ai ajouté il y a 8 minutes avant de répondre


@Darindimitrov ou vouliez-vous dire que si je voulais utiliser le $ .putez cela ce $. Mettez ('/ URL', {'FOO': 'Bar'}, fonction (résultat) { est comment Je l'utiliserais dans mon spectacle.html.erb?


@Darindimitrov J'ai trié la moitié de la question que j'avais. C'était parce que je n'ai pas inclus mon Ajax_Request_put dans la tête correctement. J'ai fait <% = javascript_include_tag "ajax_request_put



0
votes

semble que vous n'incluiez pas le _ajax_request_put.js dans votre fichier principal. C'est pourquoi la fonction $. Mettez introuvable. Incluez-la en premier, alors votre erreur disparaîtra.


5 commentaires

A droite ok, cela peut sembler Daft mais comment ferais-je cela?


Tout comme vous incluez JQuery.