Quelle der Fehlermeldung der Funktion jQuery $.ajax()
Lesezeit: 3 Minuten
Sarsnake
Im Fehlerfall lautet der Code etwa so:
error: function(msg)
wo kommt die msg komme aus?
BEARBEITEN:
Ich verwende diese Funktion ($ajax), um einen WEB SERVICE aufzurufen. Also, wenn jemand, der dies abgelehnt hat, mir erklären könnte, woher msg kommt, wäre das großartig! Muss ich es im Webdienst einstellen? Wenn das so ist, wie? Bitte kopieren Sie die Definitionen nicht und fügen Sie sie nicht ein.
warum wird das runtergevotet?
– Jason
21. Januar 2010 um 22:27 Uhr
Der Parameter msg ist das XMLHttpRequest-Objekt, das jquery verwendet, um die Anfrage zu stellen. Es spielt keine Rolle, ob es aufgerufen wird Nachricht oder xhr oder was auch immer, das ist der erste (oder einzige) Parameter. In dem Beispiel, wo Sie das bekommen haben, hätten sie es verwenden sollen xhr oder sonst was Nachricht, was verwirrend ist. Ich schlage vor, Sie ändern es. Und ja, ich weiß nicht, warum die Abwertungen. Das ist eine gute Frage. Ich werde hier eine Ablehnung ausgleichen. . .
– Patrick Kärcher
22. Januar 2010 um 0:39 Uhr
Patrick Kärcher
Aus der jquery-Dokumentation:
error(XMLHttpRequest, textStatus, errorThrown) Function
Eine Funktion, die aufgerufen wird, wenn die Anforderung fehlschlägt. Der Funktion werden drei Argumente übergeben:
– Das XMLHttpRequest-Objekt,
– eine Zeichenfolge, die die Art des aufgetretenen Fehlers beschreibt, und
– ein optionales Ausnahmeobjekt, falls eines aufgetreten ist.
Mögliche Werte für das zweite Argument (neben null) sind „timeout“, „error“, „notmodified“ und „parsererror“. Dies ist ein Ajax-Ereignis.
Wenn Sie nur einen Parameter angeben, ist dies der xmlHttpRequestObject. Daraus kann man sich gut informieren. Leider, In den meisten Dokumentationen da draußen haben Sie dies nicht richtig eingerichtet. Eine gute Standardvorlage ist:
Einige gute Informationen, die Sie von xhRequest erhalten können, sind:
.status : 404: „nicht gefunden“, 500: „Serverfehler“. Das kann manchmal eine große Hilfe sein.
.responseText sind Informationen vom Server, die im Fehlerfall oft nutzlos sind, aber manchmal hilfreich sein können.
Der zweite Wert, ein String, ist manchmal hilfreich. Ah, ich denke, die möglichen Werte werden in der Dokumentation erwähnt.
Der 3. Parameter war, wann immer ich ihn überprüft habe, immer undefiniert. Ich glaube nicht, dass es jemals nützlich ist.
Wladimir Buskin
Ich denke, der 3. Parameter errorThrown in der Fehler-Callback-Funktion
error(XMLHttpRequest, textStatus, errorThrown)
ist genau die Textfehlermeldung vom Server zu senden.
Wenn Sie also auf einem Server Folgendes festlegen:
Response.Status = 403;
Response.StatusDescription = "Password is not correct";
Auf einem Client erhalten Sie:
textStatus => "error",
errorThrown => "Password is not correct"
Der Serverteil für Asp.net MVC wird sein:
return new HttpStatusCodeResult(403, "Password is not correct");
sdmüller
Die Nachricht ist eine Rückgabe von der eigentlichen serverseitigen Funktion, die Sie in Ihrem Ajax-Aufruf abfragen.
Auf diese Weise können Sie den Fehler oder andere Informationen darüber erhalten, ob der serverseitige Code das getan hat, was er tun sollte.
Sagen Sie, wenn Sie eine Zeichenfolge “Erfolg” zurückgeben
msg.val() wird gleich “Erfolg”
Ich hoffe, das hilft
Eigentlich ist der richtige Weg:
error: function(req, status, error) {
}
Von der jQuery-API:
Eine Funktion, die aufgerufen wird, wenn die Anforderung fehlschlägt. Der Funktion werden drei Argumente übergeben: Das XMLHttpRequest-Objekt, eine Zeichenfolge, die den Typ des aufgetretenen Fehlers beschreibt, und ein optionales Ausnahmeobjekt, falls eines aufgetreten ist. Mögliche Werte für das zweite Argument (neben null) sind „timeout“, „error“, „notmodified“ und „parsererror“. Dies ist ein Ajax-Ereignis.
10465800cookie-checkQuelle der Fehlermeldung der Funktion jQuery $.ajax()yes
warum wird das runtergevotet?
– Jason
21. Januar 2010 um 22:27 Uhr
Der Parameter msg ist das XMLHttpRequest-Objekt, das jquery verwendet, um die Anfrage zu stellen. Es spielt keine Rolle, ob es aufgerufen wird Nachricht oder xhr oder was auch immer, das ist der erste (oder einzige) Parameter. In dem Beispiel, wo Sie das bekommen haben, hätten sie es verwenden sollen xhr oder sonst was Nachricht, was verwirrend ist. Ich schlage vor, Sie ändern es. Und ja, ich weiß nicht, warum die Abwertungen. Das ist eine gute Frage. Ich werde hier eine Ablehnung ausgleichen. . .
– Patrick Kärcher
22. Januar 2010 um 0:39 Uhr