jquery ajax done funktioniert nicht feuernd
Habe ich eine SEHR einfache jQuery-Ajax-Aufruf (siehe unten). Der Ajax-Aufruf ausgeführt wird und ich sehe im Firebug Net-panel, die vom server zurückgegeben 200 OK und zurückgegeben wird ein string, "OK", wie es sollte. Aber die fertig-und fehl-Funktionen nicht Feuer! Sehr frustrierend!
("Vor" und "nach" Warnungen MACHEN Feuer. )
Einfachheit halber (und als debugging-Technik) habe ich abgestreift hinunter zu es die meisten nackten Skelett, aber immer noch der Handler wird nicht ausgelöst. Was bin ich nicht hier sehen?
postUrl= "/mod/users/check_email/";
dataToPost= { email: "[email protected]" };
alert("before");
$.ajax
({
type: "POST",
url: postUrl,
data: dataToPost,
done: function()
{
alert("Success.");
},
fail: function()
{
alert("Sorry. Server unavailable. ");
},
}); //end Ajax call
alert("after");
Kommentar zu dem Problem
Die ajax-Methode nicht getan haben und scheitern Optionen. Was du suchst sind Erfolg und Fehler.
InformationsquelleAutor der Frage misterrobinson | 2013-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die Kette
done()
undfail()
Funktionen, Sie sind nicht Teil der options-Objekt verwendet, in$.ajax
:Auch, da ajax asynchron ist, seien Sie nicht überrascht, wenn die "nach" - Warnung vor dem "Erfolg" aufmerksam.
InformationsquelleAutor der Antwort adeneo
success
underror
Rückrufe können verwendet werden. Fürdone
undfail
Sie tun müssen :Oder :
InformationsquelleAutor der Antwort Mustafa Genç
Auch u brauchen, dataType: 'json'. Ich hatte dieses problem, wo ich es auf 'string' und es nicht Feuer die done-Methode
InformationsquelleAutor der Antwort WtFudgE
Ich habe das gleiche setup wie diesem:
und lief in das gleiche problem: die done-Funktion wäre nicht Feuer aus. Aber ich habe es geschafft, es zu machen, arbeiten viele Male zuvor, mit dem gleichen set-up, es dauerte eine Weile, um herauszufinden, was passiert ist. Nach tweaking herum, fand ich, dass es hängt auch von der Art der Daten zurückgegeben, die durch den Ajax-call. Ursprünglich konfigurierte ich den ajax-Aufruf wieder einige HTML. Die done-Funktion hat nicht funktioniert. Nachdem ich es geändert zurück zu json (mit jsonify in Kolben), funktioniert es wieder.
InformationsquelleAutor der Antwort Toàn Nguyễn