我是ajax轮询的新手,我实现了连续获取数据,但我得到的问题是内存使用率和CPU利用率不断增加,最后浏览器崩溃。 这是ajax调用我正在使用的连续获取数据。
$(document).ready(function () {
make_call();
function make_call() {
$.ajax({
url: "url",
accepts: "application/json",
cache: false,
success: function (result) { // Some code here },
complete: make_call
});
}
}
还有其他选择,或者我做错了什么。请提供一些建议或解决方案。提前谢谢。
答案 0 :(得分:0)
您的代码在前一个请求完成的同一时刻初始化一个新请求(完成错误或成功)。您可能希望在请求新数据之前有一点延迟 - 这有利于减少服务器和客户端负载。
$.ajax({
// ...
complete: function() {
setTimeout(make_call, 5000);
}
});
上述代码在发出下一个请求之前等待5秒钟。根据您的需要调整价值"连续"。