gpt4 book ai didi

javascript - jQuery JSONP AJAX 请求有时会失败,并显示 "TypeError: Cannot call method ' 完成'未定义”

转载 作者:行者123 更新时间:2023-11-28 20:03:04 25 4
gpt4 key购买 nike

我正在尝试在书签中使用 jQuery JSONP AJAX 请求,我发现这些请求在某些页面上有效,但在其他页面上无效。下面是示例代码:

jQuery.ajax({
url: "http://echo.jsontest.com/key/value/one/two",
type: "GET",
dataType: "jsonp",
cache: false
}).done( function(data){
console.log(data);
}).fail(function(jqXHR, textStatus, errorThrown){
console.log("errorThrown: " + errorThrown);
});

如果您访问以下亚马逊页面:

http://www.amazon.com/dp/B00336EUTK?psc=1

并在控制台中执行上面的代码,你会发现它有效。但是,如果您访问此亚马逊页面:

http://www.amazon.com/dp/B00E5UHSYW?psc=1

并在控制台中执行上述代码,出现以下错误:

TypeError: Cannot call method 'done' of undefined

是什么原因导致此问题以及如何解决?

编辑:我注意到的一件有趣的事情是,在 AJAX 请求起作用的页面上,回调参数似乎总是如下所示:

callback=jQuery1640586556919850409_1390439428297

在失败的页面上,它总是看起来像这样:

callback=jsonp1390439502398

我在许多不同的亚马逊页面上尝试过这一点,看起来这种行为是一致的。

也许这只是一个巧合,但我认为这可能值得指出。

最佳答案

不同版本的 jQuery

无论你相信与否,这两个页面使用不同版本的 jQuery。

您可以通过在控制台中输入以下内容来自行确定:$().jquery

the first page正在运行v1.6.2

the second page正在运行v1.2.6

查看 jQuery.ajax()( here ) 的 jQuery 文档,看起来它直到 v1.5 才添加到 jQuery

希望有帮助。

关于javascript - jQuery JSONP AJAX 请求有时会失败,并显示 "TypeError: Cannot call method ' 完成'未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21297450/

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