2009-10-13 1 views
1

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

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

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

Спасибо.

ответ

3

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

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

$.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); 
      } 
     }; 

Посмотрите на «ошибка: функция (МВП)» ...

+0

Я пробовал этот, и ответ в этом случае является объектом. – Tom

+0

@Thomas: Запустите firebug и посмотрите на его свойства ... – RSolberg

+0

Он содержит тип запроса, url, данные и т. Д. Но в нем нет ответа:/ – Tom

0

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

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

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

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

  • Нет связанных вопросов^_^