【问题标题】:How do I get the HTTP error code of a failed jsonp request using jquery-jsonp, in the error callback function?如何在错误回调函数中使用 jquery-jsonp 获取失败的 jsonp 请求的 HTTP 错误代码?
【发布时间】:2013-10-23 15:11:42
【问题描述】:

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

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

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

【问题讨论】:

  • 你确定jQuery ajax 不支持吗? >> "完成回调选项在请求完成时触发,无论是失败还是成功。它接收 jqXHR 对象,以及包含成功或错误代码的字符串。"

标签: jquery error-handling jsonp


【解决方案1】:

你不能

让我们回顾一下 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 请求)非常重要。

【讨论】:

    猜你喜欢
    • 2013-06-30
    • 2011-07-11
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    相关资源
    最近更新 更多