Я использую запрос JQuery $.post
, чтобы получить ответ JSON, который генерируется PHP. По завершении запроса отображается сообщение об успешном завершении или ошибке. Однако во время разработки у меня иногда возникают ошибки PHP, которые в конечном итоге возвращаются вместо JSON. Когда это происходит, я просто получаю сообщение об ошибке:JQuery AJAX запрос показать ошибки AJAX и PHP
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
код я теперь выглядит следующим образом:
var request = $.post(url, data, null, "json");
request.fail(on_failure);
var on_failure = function(jqXHR, text_status, error_thrown)
{
$("#text_status").empty().append(error_thrown);
};
Я хотел бы быть в состоянии показать ошибку PHP, если один возвращается, а чем просто указать, что существует ошибка PHP (просто для ускорения отладки). Очевидно, что если возникает ошибка синтаксического анализа, отличная от JSON, такая как HTTP 404, я все же хочу ее отобразить. Я нашел способ here, который указывает, что я могу обнаружить эту ошибку что-то вроде этого
$.ajaxSetup({
error: function(jqXHR, exception) {
if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
}
}
});
Но это не похоже, что помогает мне, потому что он работает для каждого запроса, а не индивидуальные запросы и (насколько я знаете), он не разрешает доступ к сообщению об ошибке в возвращаемых данных.
Вы пробовали использовать Firebug на вкладке «Net», чтобы увидеть результаты запросов? Иногда там можно увидеть ошибки, которые могут дать некоторые подсказки этой проблеме. –
Я не пробовал, но мне нравится это решение. Спасибо. – bytesized
@ mkross1983 Ваш комментарий - мое предпочтительное решение. В последнее время вкладка Firebug Net оказалась очень полезной для меня. Можете ли вы написать это как ответ, чтобы я мог принять его? – bytesized