gpt4 book ai didi

jquery - Uncaught ReferenceError : jQuery22303175114964962158_1470743444495 is not defined in JSONP AJAX request

转载 作者:行者123 更新时间:2023-12-01 04:02:09 27 4
gpt4 key购买 nike

我正在发出 AJAX 请求以从服务器获取一些数据。为了限制请求(由于大量请求会破坏服务器)我为请求设置了超时。我收到错误:

Uncaught ReferenceError: jQuery22303175114964962158_1470743444495 is not defined

谁能帮我解决

jQuery.ajax({
url: url, // some url link here
type: "GET",
contentType: "application/jsonp; charset=utf-8",
dataType: 'jsonp',
timeout: 5000,
success: function(data, status) {
// some stuffs
},
error: function (xhr, status, error) {
// some stuffs
}
});

我提到了this link 。并尝试添加诸如 {'jsonpcallback':'mycallback'} 之类的属性。但这对我不起作用。

提前致谢。

最佳答案

发生这种情况是因为请求花费的时间超过了您指定的 timeout限制。当请求花费的时间超过timeout时限制,请求被视为失败并且永远不应完成。如果您想要容忍需要超过五秒才能完成的请求,则应指定更高的 timeout值(或者完全省略它,如果您可以接受无限期等待)。

JSONP 的工作原理是在 <script> 中加载文件。表单元素

jQuery22303175114964962158_1470743444495({ some: "data" });

这会导致一个名为 jQuery22303175114964962158_1470743444495 的函数以一些数据作为参数来运行。 jQuery 自动设置一个名为 jQuery22303175114964962158_1470743444495 的函数当它从服务器请求该脚本文件时(这是一个最终调用您的 success 函数的函数)。但是,当您设置 timeout ,当超时时间窗口结束时,jQuery删除该函数,因此您会看到错误 jQuery22303175114964962158_1470743444495 is not defined因为<script>加载,但它调用的函数在五秒后不再存在。

假设我想让我的 friend 来我家给我一把 Screwdriver 。我们通过电话进行了以下交流:

ME: Hi, friend! Please let me borrow your screwdriver. Can you drop it off at my house?

FRIEND: I'd love to. Where can I leave it?

ME: I am putting a purple basket on my porch. Please leave it in there.

由于您设置了超时,因此在这个类比中,您还决定在等待五个小时后移除紫色篮子。当你的 friend 六个小时后出现时,他没有看到紫色的篮子(因为你在一小时前把它拿回来了)并说

FRIEND: Error: purple basket not found!

这里的解决方案当然是不要删除紫色篮子(即不要设置 timeout 值),除非您确实有充分的理由在固定时间段后拒绝响应。如果您确实有充分的理由在固定时间段后拒绝响应,那么如果您的请求在该时间段后失败也不是问题:这正是您想要的要求。

由于您希望请求始终在五秒后失败,因此请勿设置 timeout: 5000这会导致您的请求在五秒后失败。

关于jquery - Uncaught ReferenceError : jQuery22303175114964962158_1470743444495 is not defined in JSONP AJAX request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850362/

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