【问题标题】:Callback=? significance in AJAX call回调=? AJAX调用中的意义
【发布时间】:2015-09-10 15:56:22
【问题描述】:

以下调用失败:

https://api.twitch.tv/kraken/streams/MedryBW?client_id=pzaazcrab42neperff77e2elkrqrj4y"

这个通过了:

https://api.twitch.tv/kraken/streams/MedryBW?client_id=pzaazcrab42neperff77e2elkrqrj4y&callback=?"

这个回调=什么?做吗?

【问题讨论】:

  • 它使用JSONP,一种绕过same-origin policy的方法。
  • PROTIP:发布问题时,只说“失败”并不能帮助我们帮助您。您应该显示您的代码和您在控制台中看到的任何错误消息。您应该解释“失败”是什么意思;你期望代码做什么与它做什么。

标签: jquery ajax


【解决方案1】:

callback=? 是 jQuery 识别的 URL 的“神奇”部分,它改变了请求的发出方式。

URL 中的回调参数用于 JSONP 请求,因此 jQuery 将请求从使用 XHR (XMLHTTPRequest) 更改为使用脚本元素。它还将 URL 中的 callback=? 更改为使用唯一的函数名称,例如 callback=callback87624827346

由于请求未使用 XHR,因此不受同源策略的约束。这就是您可以发出请求的原因(无需在服务器上设置CORS 以使浏览器允许该请求)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多