[英]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.