2013-09-14 1 views
0

Я пытаюсь работать с API RESTful Twitter, а также $ .ajax.statusCode, но кажется, что все функции кода состояния вызываются, что меня смущает. С помощью этого кожура вниз примера с некорректной URL:

$.ajax 
(
    { 
     url: "https://api.twitter.com/foobar", 
     statusCode: { 
      404: console.error("404"), 
      410: console.error("410") 
     }, 
     done: function(){console.info("done");}, 
     fail: function(){console.error("fail");} 
    } 
); 

пишет как выход для 404 и 410 в консоли. Я использую JQuery 1.10.2, но это также происходит в 1.9.1. Я проверил историю запросов в Firefox, и я могу видеть только один запрос, который возвращает ответ http 404. Есть что-то здесь, что мне не хватает?

+0

что относительно функции() {console.error ("404");},? –

ответ

4

statusCode является отображением кодов состояния для функций:

statusCode : { 
    404 : function() { console.log("404"); }, 
    410 : function() { console.log("410"); } 
} 

От jQuery.ajax:

Объект числовых кодов и функций HTTP будет вызываться, когда ответ имеет соответствующий код.

JSFiddle

+0

Хорошо, я вижу - он должен указывать на функцию. Мой плохой ... –

+0

Вы получаете обе строки журнала даже после исправления объекта 'statusCode'? – xbonez

+0

Извините xbonez Я прищурился, заменив свой оригинальный комментарий. После того, как я исправил код, я не вижу записи в журнале для 404 –

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