2016-11-20 2 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 также выявил, что таймауты запросов также могут привести к сбою()(). Я уверен, что это не полный список.

+0

также забыл время выхода, нет подключения к интернету также – charlietfl

+0

@charlietfl gracias: P – Taplar

Смежные вопросы