Обработка 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");
    }
});

http://api.jquery.com/jQuery.ajax/

$.ajax({
  statusCode: {
    201: function() {
      alert("201!");
    }
  }
});

это должно работать с любым кодом статуса http

Другие вопросы по тегам