[英]Binding live element status to jquery AJAX request
您好我想绑定一个元素(或变量):
$("#progressbar").val(55);
到AJAX请求结果:
$.get("/checkstatus/",...);
// this return the status (a number between 1 and 100 %).
并且必须连续调用它以实时更改进度条值。
我试过了:
$("#progressbar").on()
...
$("#progressbar").live()
...
但是,“连续检查”某事并绑定到元素的事件是什么? 诸如“单击”,“键控”等事件不是时间事件。
我也尝试过:
setTimeout(...)
在每X秒触发一次请求,但我不知道这是否是最好的方法。
如何使用AJAX进行连续检查并绑定到元素或变量?
问候:
您可以使用setInterval
Javascript函数,该函数以给定的毫秒率定期执行回调。 这种技术称为轮询 。
但是,尽管很简单,但它并不是很有效,特别是在您负担很重的情况下。 如果性能很重要,那么还有其他更有效的技术。 如果您有兴趣,请搜索长轮询 , Web套接字 , SignalR (如果有.NET后端)。
var handle = setInterval(function() {
$.get("/checkstatus/",...)
.done(function(result) {
$("#progressbar").val(result.value);
if (result.value >= 100) {
clearInterval(handle); // stop the cycle
}
});
}, 500); // execute in every 500ms
请注意,上面的代码未经测试,不包含任何异常处理和验证,仅提及一个简单的示例。 不要“复制粘贴”它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.