Как получить ответ?

Моя проблема заключается в том, что я делаю POST-запрос с jQuery, и, если возникает ошибка, я изменяю статус HTTP, например, на 401, и выдает ошибку. (Я использую $ .ajax ();) Итак, проблема в том, что я не знаю, как распечатать это сообщение об ошибке.

Если я проверю это в firebug, я получу что-то вроде этого: {"*THE URL OF THE FILE*":{"rc":401,"body":"*error message*"}}

Кто-нибудь может сказать мне, как распечатать это сообщение об ошибке? (Например, с предупреждением ();)

Спасибо.

13.10.2009 14:06:38
2 ОТВЕТА
РЕШЕНИЕ

Я полагаю, что между $ .post и $ .ajax есть разница ... $ .ajax включает в себя и функцию обратного вызова при успешном выполнении, и при ошибке, когда $ .post имеет только функцию успеха. Читайте здесь для получения дополнительной информации ...

С учетом вышесказанного, может быть, $ .ajax лучше подойдет для фиксации ошибки? Вот пример с сайта jQuery о том, как это сделать.

$.ajax({
          url: "script.php",
          global: false,
          type: "POST",
          data: ({id : this.getAttribute('id')}),
          dataType: "html",
          success: function(){
             //Happy Path...
          },
          error: function(msg){
             alert(msg.status);
          }
       };

Взгляните на «error: function (msg)» ...

3
13.10.2009 14:43:08
Я попробовал это, и ответ в этом случае является объектом.
Tom 13.10.2009 14:25:07
Он содержит тип запроса, URL, данные и т. Д. Но в нем нет ответа: /
Tom 13.10.2009 14:41:29
Правильно, ответом является объект XMLHttpRequest, и вы можете проверить HTTP-статус, используя соответствующее свойство. Это будет msg.status, как в примере выше.
user186994 13.10.2009 14:42:14
Нет проблем, для этого тоже есть свойство. Попробуйте msg.statusText.
user186994 13.10.2009 14:45:45
msg.responseText - это то, что я искал. Спасибо за вашу помощь. :)
Tom 13.10.2009 14:56:57

В функции ошибки вы можете использовать просто как

error: function(err){
             alert(err.responseText);
          }

Здесь responseTextвы получите точное сообщение об ошибке, где вы пропали без вести.

0
8.02.2016 07:15:19