gpt4 book ai didi

jquery - JSONP - 解释 jQuery.ajax() static "jsonpCallback"的陷阱(与 jQuery 随机回调名称)

转载 作者:行者123 更新时间:2023-12-01 01:10:42 24 4
gpt4 key购买 nike

我在静态文件服务器 - GitHub Pages 上提供 JSONP JavaScript 文件。

这意味着我无法动态在服务器上设置 JSONP 回调函数名称...

Dynamic example - PHP

header('Content-Type: text/javascript; charset=utf8');
$data = '{ "foo":"bar" }'; // json string
echo $_GET['callback'] .'('.$data.');'; // function name set via ?callback=xyz

jQuery.ajax() 有一个 jsonpCallback 参数来定义静态回调函数名称。所以我可以服务器一个 javascript 文件,例如test-jsonp.js 包含以下内容:

静态示例 - JavaScript 文件

jsonpCallbackABC({ "foo":"bar" });

但是 jQuery 文档表明 static 不太理想。

http://api.jquery.com/jQuery.ajax/

jsonpCallback
Specify the callback function name for a JSONP request. This value will be used instead of the random name automatically generated by jQuery. It is preferable to let jQuery generate a unique name as it'll make it easier to manage the requests and provide callbacks and error handling. You may want to specify the callback when you want to enable better browser caching of GET requests.

有人可以更详细地介绍静态 JSONP 函数名称的陷阱吗?

最佳答案

很简单:您的页面是否使用 jsonp 执行同时请求(大多数页面都是这样做的,因为请求是从页面事件异步启动的)?

如果是这样,如果您有单个入口点(单个 jsonp 回调),则响应将更难以分离和处理。

我在最近的一个项目中使用了静态回调函数名称,但它是在同步模式下使用的,并且在页面生命周期内仅使用一次,因此将回调名称设为静态并不是问题。

关于jquery - JSONP - 解释 jQuery.ajax() static "jsonpCallback"的陷阱(与 jQuery 随机回调名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6033791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com