我有一个函数可以通过 ajax 更新我的 html 页面上的表格。这个 ajax 调用需要很长时间才能完成。我被引导相信一旦 ajax 调用完成而没有内存泄漏,下面的代码将再次运行它,因为该函数将在 setTimeout 的延迟之前结束。但是,当我使用 chrome 的开发人员工具查看进程时,我可以看到我的函数 makeTable() 的许多实例正在运行并且我收到错误 Failed to load resource: the server responded with a status of 500 (Internal Server Error )
在控制台中。有更好的方法吗?
function makeTable() {
$.ajax({
url: "TableView.asp",
type: "GET"
}).done(function (ret) {
$("#info_display").html(ret);
});
setTimeout(makeTable, 5000);
}
最佳答案
setTimeout(makeYellowTable, 5000);
应该在回调函数“完成”内
.done(function (ret) {
$("#info_display").html(ret);
setTimeout(makeYellowTable, 5000);
});
关于javascript如何在结束后再次运行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38511966/