我有一个ajax调用,它每10ms发送一次请求:
function sendRequest(){
new Ajax.Request(getProgressUrl,
{
method: 'get',
onComplete: function(transport) {
setTimeout(updateCsvExportProgress, 10);
},
onFailure: function(xhr, json) {
}
});
}
还有按钮:
<button id="stopIt" onclick="stopAjaxRequest()">STOP</button>
我想知道如何停止/中止ajax调用,因为它每10毫秒发送一次请求。
提前致谢。
答案 0 :(得分:1)
您应该将Ajax.Request
对象保存在变量&amp;然后在那上运行abort
。
您的代码应该是这样的:
var ajaxRequest = null;
function sendRequest() {
ajaxRequest = new Ajax.Request(getProgressUrl, {
method: 'get',
onComplete: function(transport) {
setTimeout(updateCsvExportProgress, 10);
},
onFailure: function(xhr, json) {
}
});
}
function stopAjaxRequest() {
if(ajaxRequest !=null)
ajaxRequest.transport.abort();
}