+ -
当前位置:首页 → 问答吧 → jQuery 的$.ajax 的扩展问题。急!急!急!

jQuery 的$.ajax 的扩展问题。急!急!急!

时间:2011-05-26

来源:互联网

网上查了下jquery把ajax封装的太多了,很多错误只是转到error function里了,但是具体的服务器返回的错误都没办法获取。
求强人帮帮忙,如何用$.ajax获取服务器的错误详细信息 e.g.404错误

作者: jhrxx   发布时间: 2011-05-26

还没见过这样的需求 。
具体到什么错误 。
帮顶了 。

作者: zell419   发布时间: 2011-05-26

error回调的第一个参数不就是原来的xhr对象,你直接使用这个对象就知道错误了,不过你要知道底层的xhr对象有什么属性
JScript code

error:function (xhr) {
alert('状态:'+xhr.status);

alert('服务器返回的错误信息:'+xhr.responseText)
} 


要了解底层的xhr对象,可以好好研究下面的文章
ajax问题总结
ajax对象常用属性,事件,方法大小写问题

作者: showbo   发布时间: 2011-05-26

引用 2 楼 showbo 的回复:
error回调的第一个参数不就是原来的xhr对象,你直接使用这个对象就知道错误了,不过你要知道底层的xhr对象有什么属性
JScript code

error:function (xhr) {
alert('状态:'+xhr.status);

alert('服务器返回的错误信息:'+xhr.responseText)
}


要了解底层的xhr对象,可以好好研究下面的文章……

跟着断点到了error function里面
如果看到xhr.readyState: 0代表着什么

作者: jhrxx   发布时间: 2011-05-26

好像是因为跨域的问题,如果访问本地的不存在页面会报错404 error xhr.readyState:4
但是换到访问其他域名就是xhr.readyState:0 xhr.status:0

作者: jhrxx   发布时间: 2011-05-26

ajax无法跨域,需要代理页面或者使用jq的JSONP数据类型执行跨域操作

参考
AJAX跨域问题解决办法

jQuery jsonp跨域原理

作者: showbo   发布时间: 2011-05-26