JQuery $.ajax 捕获异常信息

2017-09-19  本文已影响0人  simplehu

转自http://blog.csdn.net/wenle006/article/details/7022240

一、error:
error:function (XMLHttpRequest, textStatus, errorThrown) 
{ 
} 

(默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象、XMLResponse对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。

"timeout", "error", "notmodified" 和 "parsererror"。

二、error事件返回的第一个参数XMLHttpRequest有一些有用的信息:

状态码

0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

三、data:"{}", data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror.
四、parsererror的异常和Header 类型也有关系。及编码header('Content-type: text/html; charset=utf8');

eg:python cgi+js:
前端调用python 已经print result了,但是前端并没有收到,依然pendding,一直是Provisional headers are shown,当结束进程时,前端返回200,此时会把之前的result打印出来并附带了cgi的头,如下:导致textStatus为parsererror

{"msg": "excute plan done", "retcode": "success"}
Content-type: text/plain

可以使用:chrome://net-internals/#events查看问题

上一篇下一篇

猜你喜欢

热点阅读