我是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
});
}
}
有其他选择吗,还是我做错了什么?请提供一些建议或解决方案。
您的代码在前一个请求完成的同时初始化了一个新请求(完成是错误还是成功)。您可能希望在请求新数据之前有一个小的延迟-这有利于减少服务器和客户端负载。
$.ajax({
// ...
complete: function() {
setTimeout(make_call, 5000);
}
});
上面的代码在发出下一个请求之前等待5秒。