jQuery.ajax()JSONP响应出现间歇性TypeError

Intermittent TypeError on jQuery .ajax() JSONP response

本文关键字:TypeError 响应 ajax JSONP jQuery      更新时间:2023-09-26

我在jQuery .ajax() JSONP响应上间歇性地收到Uncaught TypeError: undefined is not a function响应。调用返回JSON没有问题,但当jQuery读取它时,我有时会收到错误。

以下是jQuery正在创建的请求示例:

http://www.requestdomain.com/json/request?callback=jQuery1910423432748997584_1397740628595&[my params]&_=1397740628596

以及正在返回的失败响应:

jQuery1910423432748997584_1397740628595({properly formated JSON})

错误实际上是在响应本身上生成的,而不是任何与之交互的脚本。我可以运行它几次,它会随机失败,但除了jQuery附加的随机生成的数字之外,通过和失败请求的响应是相同的。

以前有人经历过这种情况吗?

对我来说,这是因为浏览器(Canary)不允许同一主机名的并发连接超过6个。

这是许多浏览器都有的限制。对大多数人来说,限制是6,但你可以在browsercope.org/strong>.上找到的确切列表

您也可以测试自己的浏览器版本。

在每个请求之间添加延迟/去抖动解决了问题。

如果你不能做到这一点,还有另一个技巧就是从不同的主机名请求。为此,您可以设置镜像来承载您的资产或数据。只需知道,不同的hotsname上的并发连接也有限制(chrome 32为10)。