jQuery .ajax()JSONP响应上的Intermittent TypeError

时间:2014-04-17 13:31:48

标签: javascript jquery ajax json

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

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

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

即将回复的失败回复:

jQuery1910423432748997584_1397740628595({properly formated JSON})

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

以前有没有人经历过这个?

1 个答案:

答案 0 :(得分:1)

对我而言,这是因为浏览器(Canary)不允许超过6个并发连接使用相同的主机名。

这是许多浏览器的限制。对于他们中的大多数,限制为6但您可以找到 exact list here on browserscope.org

您也可以test your own browser version

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

如果你不能这样做,还有另一个技巧,即从不同的主机名请求。为此,您需要设置镜像来托管您的资产或数据。只知道不同hotsnames上的并发连接也有限制(chrome 32为10)。