Bei der Verwendung von jQueryajax method zum Übermitteln von Formulardaten, was ist der beste Weg, um Fehler zu behandeln? Diese ist ein Beispiel dafür, was ein Anruf aussehen könnte:Wie würden Sie Fehler bei der Verwendung von jQuery.ajax() behandeln?
$.ajax({
url: "userCreation.ashx",
data: { u:userName, p:password, e:email },
type: "POST",
beforeSend: function(){disableSubmitButton();},
complete: function(){enableSubmitButton();},
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(data){
displayUserCreatedMessage();
refreshUserList();
}
});
Der Antrag kann für eine Reihe von Gründen fehlschlagen, wie doppelte Benutzernamen, doppelte E-Mail-Adresse usw. und die Ashx geschrieben wird, eine Ausnahme zu werfen wenn das passiert.
Mein Problem scheint durch Auslösen einer Ausnahme der Ashx bewirkt, dass die statusText
und errorThrown
sein undefined zu sein, dass.
Ich kann an die XMLHttpRequest.responseText
, die die HTML enthält, die die Standard-.net-Fehlerseite bildet.
Ich finde den Seitentitel im responseText und benutze den Titel, um herauszufinden, welcher Fehler ausgelöst wurde. Ich habe zwar den Verdacht, dass dies bei der Aktivierung von benutzerdefinierten Seiten zur Fehlerbehandlung auseinander fallen wird.
Sollte ich die Fehler in der Aschx werfen, oder sollte ich einen Statuscode als Teil der Daten zurückgeben, die durch den Anruf an userCreation.ashx
zurückgegeben werden, dann mit dieser entscheiden, welche Maßnahme zu ergreifen?
Wie gehen Sie mit diesen Situationen um?
+1: Vielen Dank. –
@Ismail Ich denke, Sie sollten dies in einer neuen Frage stellen und etwas von Ihrem Code zur Verfügung stellen. – travis