2016-11-20 7 views
0

私は以下のコードを使用してAPIにリクエストしています。私は失敗(間違ったURL、接続なし、...)を含むさまざまなテストを行い、すべての応答はdone()から来ています。どんな条件で私はfail()が呼び出されると思いますか?

$.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

実際に問題はありません、私はちょうどテストを書いて、エラーを処理する最良の方法は何かを知りたいです – Arturo

答えて

2

は、典型的には、(失敗)応答は、非2XX又は3XXコードとして「良い」応答コードでない場合に起動します。それ以外の場合は、リクエスト内の何かが解析に失敗した場合にも起動できます。あなたがjsonを返すと期待していて、応答が(有効な)jsonではないと言ったようなものです。この場合、解析エラーはfail()が発生する(iirc)結果にもなります。 @charlietflはリクエストのタイムアウトを起こしてfail()を起動させることもできます。これは完全なリストではありませんが、私は確信しています。

+0

また、タイムアウトを忘れて、インターネットに接続していません – charlietfl

+0

@charlietfl gracias:P – Taplar

関連する問題