2015-04-13 3 views
0

Ошибка я получаю это:получить сообщение об ошибке Аякса

POST http://mypage.local/page1 net::ERR_NAME_NOT_RESOLVED 

Эта веб-страница недоступна - но это нормально. То, что я хочу сделать, - это показать эту ошибку (или что-то подобное этой ошибке) на странице, чтобы пользователь мог увидеть ошибку.

$.ajax({ 
    url: url, 
    type: 'POST', 
    data: JSON.stringify(data), 
    ... 
    // If there's an error... 
    error: function (xhr, status, error) { 
     // Record the error 
     $('#a-error').show().text(xhr.responseText); 
      console.log(error); 
      console.log(tasks); 
     } 

Это не работает. xhr.responseText пуст. И объект error, который я вижу в console.log, похоже, не имеет сообщений об ошибках.

Что мне делать?

+0

, что делает 'console.log (статус);' дать вам? – atmd

+0

status just returns: 'error' – b85411

+0

Попробуйте следующее:' console.log (JSON.stringify (ошибка)); 'вы получите точную ошибку в строке. Первый и третий параметры кодируются JSON. –

ответ

0

Вы можете попробовать другой формат jquery ajax documentation

 var jqxhr =$.ajax({ 
      method: "POST", 
      url: url, 
      data: JSON.stringify(data) 
     }) 
     .done(function() { 
     alert("success"); 
     }) 
     .fail(function() { 
     alert("error"); 
     }) 
     .always(function() { 
     alert("complete"); 
     }); 

где fail() будет призыв к условиям ошибок.

0

В данном конкретном случае вы можете захотеть взглянуть на StatusCode собственность jQuery.Ajax

Пример:

$.ajax({ 
    statusCode: { 
    404: function() { 
     alert("page not found"); 
    } 
    } 
}); 
Смежные вопросы