如何在错误回调函数中使用jquery-jsonp获取失败的jsonp请求的HTTP错误代码?

时间:2013-10-15 17:41:36

标签: jquery error-handling jsonp

我正在使用jaubourg的jquery-jsonp module来获取与我的网站所在域不同的域中的数据。我正在使用此模块,因为jQuery的ajax函数不支持JSONP请求的错误处理。

当我使用此库的jsonp函数向不存在的URL发出请求时,会调用error回调函数,但我无法看到如何检索HTTP错误代码,看看出了什么问题。

根据the documentationerror回调函数中唯一可用的数据是定义请求的xOptions对象,以及textStatus字符串,它是“错误” “或”超时“。在我的情况下,这是“错误”,但我看不出如何看到发生了错误。

1 个答案:

答案 0 :(得分:0)

你不能

让我们回顾一下JSONP的作用。考虑一下:

$.jsonp({
  url: "http://service.org/path?param1=xx&param2=xx",
  callback: "myCbFn",
  error: myErFn
});

这样做会在DOM中添加这样的内容:

<script type="application/javascript"
        src="http://service.org/path?param1=xx&param2=xx&jsonp=myCbFn"
        onerror="myErFn">
</script>

您的错误处理函数将由脚本标记上的DOM事件调用。

区分JSONP和AJAX(XML HTTP请求)非常重要。