2012-05-25 62 views
2

我想知道是否有任何可能通過一個'外部'控件重置AJAX請求的超時。例如,假設我有以下幾種:重置jQuery AJAX超時外部

jQuery.fn.worker = function worker() { 
    $.get('/home/GetData', function (data) { 
     // Manipulate retrieved data 
    }); 
    setTimeout(worker, 30000); 
}; 

是否有可能讓我們有一個可以重置工作人員超時的按鈕?

預先感謝您!

回答

4

假設您使計時器在全球範圍內可用,您可以使用clearTimeout(timer)

var timer = setTimeout(worker, 30000); // create 
clearTimeout(timer); // clear 
+0

非常感謝!這是完美的! – Kyprulez

+0

感謝您提及範圍。我正在做'var t = setTimeout(...);'在一個函數內部,它沒有被清除。然後在閱讀你的答案後,我嘗試了'var t;'在函數之外,並且按照預期重置超時。 –