我正在使用jaubourg的jquery-jsonp模块从与我的网站不同的域获取数据。我正在使用这个模块,因为 jQuery 的 ajax
函数不支持 JSONP 请求的错误处理。
当我使用此库的 jsonp
函数向不存在的 URL 发出请求时,调用了 error
回调函数,但我看不到如何检索 HTTP 错误代码以查看出了什么问题。
根据文档,error
回调函数中唯一可用的数据是定义请求的xOptions
对象,以及一个"错误"或"超时"的textStatus
字符串。就我而言,这是"错误",但我看不出如何看到发生了哪个错误。
你不能
让我们回想一下 JSONP 的作用。考虑一下:
$.jsonp({
url: "http://service.org/path?param1=xx¶m2=xx",
callback: "myCbFn",
error: myErFn
});
这将做的是将类似这样的东西添加到 DOM 中:
<script type="application/javascript"
src="http://service.org/path?param1=xx¶m2=xx&jsonp=myCbFn"
onerror="myErFn">
</script>
您的错误处理函数将由脚本标记上的 DOM 事件调用。
区分JSONP和AJAX(XML HTTP Request)非常重要。