2016-11-20 3 views
0

Ich mache Anfragen an eine API mit dem folgenden Code. Ich habe verschiedene Tests einschließlich Fehler (falsche URL, keine Konnektivität, ...) gemacht und alle Antworten kommen von der done(). Unter welchen Bedingungen sollte ich den fail() anrufen?

$.getJSON("http://myapi.com/", { 
    action: "register", 
    username: email, 
    password: password 
    }); 
    .done(function(response) { console.log(response); }) 
    .fail(function(jqxhr, textStatus, error) { console.log(textStatus); }); 
+0

tatsächlich gibt es kein Problem, ich will nur Test schreiben und wissen, was ist der beste Weg, um Fehler zu behandeln – Arturo

Antwort

2

Typischerweise fail() wird ausgelöst, wenn die Antwort ist keine ‚guten‘ Antwortcode, wie beispielsweise einem nicht 2xx oder 3xx Code. Sonst kann es auch ausgelöst werden, wenn etwas in der Anfrage nicht analysiert werden konnte. Wie wenn Sie es gesagt haben, dass Sie erwartet haben, dass json zurückkam und die Antwort war nicht (gültig) json. In diesem Fall sollte der Parse-Fehler auch dazu führen, dass fail() ausgelöst wird (iirc). @ charlietfl brachte auch diese Anfrage Timeouts kann auch fail() auslösen. Ich bin mir sicher, dass dies keine vollständige Liste ist.

+0

auch vergessen, Zeitüberschreitung, keine Internetverbindung auch – charlietfl

+0

@charlietfl gracias: P – Taplar

Verwandte Themen