Ich habe einen Ajax-Aufruf, der Daten an eine Seite weiterleitet, die dann einen Wert zurückgibt.
Ich habe den erfolgreichen Aufruf von der Seite abgerufen, aber ich habe ihn so codiert, dass er einen Fehler im Asp auslöst. Wie rufe ich diesen Fehler aus der Abfrage ab?
Beispielsweise:
cache: false,
url: "addInterview_Code.asp",
type: "POST",
datatype: "text",
data: strData,
success: function (html) {
alert('successful : ' + html);
$("#result").html("Successful");
},
error: function (error) {
**alert('error; ' + eval(error));**
}
Es ist das Fehlerbit, das ich nicht verstehe. In der Funktion , welche Parameter muss ich setzen, so dass ich dann die Fehlermeldung verwenden können , dass ich angehoben in den Server.
dataType
nichtdatatype
..error
und.success
werden wichtiger, wenn sie entfernt wurden.Antworten:
Die erforderlichen Parameter in einer Ajax-
error
Funktion sindjqXHR, exception
und Sie können sie wie folgt verwenden:DEMO FIDDLE
Parameter
jqXHR:
Es ist eigentlich ein Fehlerobjekt, das so aussieht
Sie können dies auch in Ihrer eigenen Browserkonsole anzeigen, indem Sie
console.log
die folgendenerror
Funktionen verwenden:Wir verwenden die
status
Eigenschaft dieses Objekts, um den Fehlercode abzurufen. Wenn wir beispielsweise status = 404 erhalten, bedeutet dies, dass die angeforderte Seite nicht gefunden wurde. Es existiert überhaupt nicht. Basierend auf diesem Statuscode können wir Benutzer auf die Anmeldeseite oder was auch immer unsere Geschäftslogik erfordert, umleiten.Ausnahme:
Dies ist eine Zeichenfolgenvariable, die den Ausnahmetyp anzeigt. Wenn wir also einen 404-Fehler erhalten,
exception
wäre Text einfach "Fehler". In ähnlicher Weise können wir als andere Ausnahmetexte "Timeout" und "Abbruch" erhalten.Wenn Sie also jQuery 1.8 oder höher verwenden, müssen wir die Erfolgs- und Fehlerfunktionslogik wie folgt aktualisieren:
Ich hoffe es hilft!
quelle
.error
und.success
wichtiger, da sie entfernt wurdenVersuche dies:
Wenn Sie Ihr Frontend über einen Validierungsfehler informieren möchten, versuchen Sie, json zurückzugeben:
Ihr Asp-Skript sollte Folgendes zurückgeben:
quelle
So ziehen Sie den Asp-Fehler heraus.
quelle
http://api.jquery.com/jQuery.ajax/
quelle
quelle
Sie verwenden eine Funktion
Aber jquery sucht tatsächlich nach einer Funktion mit drei Parametern:
Sie müssen zwei weitere Parameter hinzufügen.
AUCH: Bitte schauen Sie sich alle Kommentare oben an, in denen "veraltet" erwähnt wird :)
quelle
function myMethod (err) { alert(err); }
und nennen Sie sie dann wiemyMethod ("something is wrong", 500, some_object)
folgt -. Dies funktioniert ohne Probleme. Laut Ihrer Aussage würde dies nur funktionieren, wenn die Methodensignatur lautetfunction myMethod (err, status, some_object)
. Vergessen Sie das obige Beispiel, die Signatur dessuccess
Ereignisses, das Sie in der Antwort haben, ist tatsächlich.success(data, status, xhr)
, aber wenn Sie nur das Ergebnis benötigen, binden wir es normalerweise wie.success (data)
und beide funktionieren.Von jquery.com:
Wenn Sie globale Handler möchten, können Sie Folgendes verwenden:
quelle