jQuery AJAX with an interval
jQuery AJAX with an interval
我有一个关于间隔内的 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'});
setInterval
需要一个函数作为第一个参数(引用),这就是为什么setInterval($.ajax({ //Place code here }), 2000);
不起作用,因为$.ajax
函数返回一个jQuery XMLHttpRequest object
(参考)
setInterval(function() { $.ajax({ //Do ajax stuff here }); }, 2000);
确实创建了一个匿名函数,但除非您引用代码以使其成为string
,否则这是必需的。
相关文章:
- Javascript setTimeout for an array
- Javascript - element.childNodes does not see an append.newch
- Get JSON from an url
- Angular js$Interval怪异行为-Firefox Chrome
- How to target an h1 inside an <a>?
- 如何在aws S3 javascript SDK中配置interval和max_attempts
- Animating text along an circular path with svg & javascr
- $interval不允许我更新前端
- Use an external .jpg image in a gallery modal based on CSS &
- 正在尝试停止函数上的Interval
- 如何清除此代码中的Interval()
- 如何在量角器测试中设置$interval而不是超时
- 获取带有 jQuery 中的文本值的 AN LI 的 ID
- Using this.selectedIndex inside an array in an 'onchange
- Passing an array to jade rendering
- Dissect an id with javascript?
- 如何在react组件构造函数中设置Interval
- 函数中的Interval被调用数百次
- jQuery grepping an array[]
- jQuery AJAX with an interval