我有一个间隔内有关AJAX调用的问题。以及为什么它不起作用或以它的工作方式起作用。
我有此代码(此代码无效)
setInterval($.ajax({
//Place code here
}), 2000);
但后来我就这样
setInterval(function() {
$.ajax({
//Do ajax stuff here
});
}, 2000);
现在它可以工作了,但是对我来说,这看起来像我只做了一个额外的匿名函数。
setInterval
需要字符串格式的函数或可执行代码。
放在字符串中时,第一个调用将起作用。
setInterval('$.ajax({ //Place code here })', 2000);
出于与使用相同的原因,不建议使用此语法eval
。
setInterval
也可以选择一个可选的参数列表。您可以利用这一事实,并使用类似以下的内容:
setInterval($.ajax/*a reference to the ajax function*/,
2000, {url: 'someurl', success: onSuccess, error: onError}/*args passed to $.ajax*/
);
请注意,这对于用于this
确定上下文的对象方法无效,因为的值this
将绑定到window
。也就是说,以下操作无效:
setTimeout($('h1').css, 1000, {'color': 'red'});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句