Обработка HTTP-статуса Ajax-ответа
Я пытаюсь интегрировать Instapaper Simple API во что-то, но я пытаюсь понять, как обрабатывать ответ, который API отправляет обратно в Javascript. Статья просто добавляется в Instapaper, поэтому я знаю, что отправка работает, а не мои обработчики ответов.
Это код, который у меня есть до сих пор, и я предполагаю, что функция успеха не является правильным способом обработки ответа.
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
success: function( data, status ) {
alert("yay");
},
error: function(status) {
alert("oh noes");
}
});
return false;
Instapaper возвращает 201, когда статья была добавлена. Я вижу, что в инструменте Google Chrome Network GET вернул статус 201. Просто интересно, как я справляюсь с этим статусом в коде выше.
Благодарю.
Редактировать Когда я нажимаю на ссылку, чтобы активировать приведенный ниже код, она высвечивает изменение под функцией ошибки прямо сейчас, даже если это сработало.
2 ответа
jQuery.ajax() предоставляет карту statusCode для таких целей:
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
statusCode: {
200: function( data ) {
alert("yay");
},
201: function( data ) {
}
},
error: function(status) {
alert("oh noes");
}
});
$.ajax({
statusCode: {
201: function() {
alert("201!");
}
}
});
это должно работать с любым кодом статуса http