[英]JQuery AJAX request show AJAX and PHP errors
我正在使用Jquery $.post
请求获取由PHP生成的JSON响应。 请求完成后,将显示成功或错误消息。 但是,在开发过程中,有时会出现PHP错误,最终会返回而不是JSON。 发生这种情况时,我只会收到错误消息:
SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符
我现在的代码如下所示:
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),我仍然想显示该错误。 我在这里找到了一种方法,该方法指示我可以通过类似这种方法检测到此错误
$.ajaxSetup({
error: function(jqXHR, exception) {
if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
}
}
});
但这似乎对我没有帮助,因为它针对每个请求而不是单个请求运行,并且据我所知,它不允许访问返回数据中的错误消息。
不确定您使用的是哪个版本的jquery。 无论如何,您是否尝试删除json
数据类型?
var request = $.post(url, data, null);
这样做jQuery将为您猜测dataType。
我讨厌窃取mkross1983的信誉,但是他没有回应我的要求,即把他的评论变成答案。 mkross1983说:
您是否尝试过使用“网络”标签下的Firebug查看请求结果? 有时在那里可以看到错误,可以为问题提供一些线索
Firebug的“ Net”选项卡已被证明是有价值的调试工具。 这样,我可以准确看到发出了什么请求以及发送给它的响应。 它甚至允许我查看与请求一起发送的标头和cookie。
谢谢mkross1983
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.