gpt4 book ai didi

jquery - 如何清理JQuery JSONP请求结果?

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

我的 javascript 客户端每秒通过 JQuery $.ajax() 方法发出一个 JSONP 请求。当我在 Google chrome (13.0.782.215 m Windows) 中查看 JavaScript 控制台并单击“资源”按钮时,我可以看到每秒都有一个项目添加到脚本中。这个项目是我的 JSONP 请求的结果,它看起来像这样:

jQuery162007347695156931877_1314625724397({"Online": "True"})

这些元素会不断增加;页面保持事件的时间越长,列表就会变得越长。我的问题是如何清理这些资源?

我在这里看到了很多类似的问题,但大多数都与使用 JQuery 进行 DOM 操作相关的某种内存泄漏有关。据我所知,我不会做这些事情。其他问题涉及一些模糊的内存泄漏问题,该问题似乎不容易追踪。 (例如 here )到目前为止,我还找不到这个问题的满意答案,所以我决定发布它。

我并不是在试图追踪模糊的内存泄漏,我只是想知道为什么这些 JSONP 请求结果会在 Google Chrome 中堆积起来,当然,还有如何将其全部清理干净。

我有一个可以重现该问题的代码片段:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.ajaxSetup({
// url: [edit:] I have removed the link since the question is answered now
crossdomain: true,
dataType: "jsonp",
tiemout: 3000,
success: myResult
});

function myRequest()
{
$.ajax();
}

function myResult(data, textStatus, jqXHR)
{
// do nothing
}

setInterval(myRequest, 1000);
});
</script>
</head>
<body>
</body>
</html>

最佳答案

你不能。 Chrome 只是显示您页面上的事件,即显示您页面上发生的事件的历史记录。

jQuery 的 JSONP 实现可能会为每个调用创建一个新的脚本标记。如果您想编写自己的 JSONP 实现,则可以重复使用相同的脚本标记,这可能会导致 Chrome 仅列出此“资源”一次。无论哪种方式,您在 Chrome 中都不会遇到资源问题。

关于jquery - 如何清理JQuery JSONP请求结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7231343/

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