如何在jquery中每10秒更新一次Ajax?
$.ajax({
type: "GET",
url: options.feedUrl,
dataType: "xml",
async:options.sync,
success: function(xml) {
}
例如,我正在测试上面的jquery以获取RSS提要。那么如何让它每10秒更新一次RSS,以便用户可以在Feed中看到新项目?
答案 0 :(得分:6)
创建间隔
var ResInterval = window.setInterval('myAjaxCall()', 60000); // 60 seconds
var myAjaxCall = function() {
$.ajax({
type: "GET",
url: options.feedUrl,
dataType: "xml",
async:options.sync,
success: function(xml) {
// todo
}
};
停止
window.clearInterval(ResInterval);
答案 1 :(得分:1)
我会避免同步ajax调用。它会在页面上做任何其他动画,就像动画冻结一样。当然,对于异步调用,您需要确保它们不会重叠。在你的setInterval中你可以放一把锁:
var doingAjax = false;
setInterval(function() {
if (!doingAjax) {
doingAjax = true;
jQuery.ajax({
...,
success: function() {
doingAjax = false;
...
}
});
}
};
答案 2 :(得分:0)
将其包装在函数中并使用setInterval()