我正在运行一个返回请求状态的长轮询ajax。如果失败,我需要停止ajax。 ajax写得像这样:
function someFunction(url){
$.ajax({
url: url,
success: function(data){
if(data.status == 'FAILED'){
//Need this ajax to stop
}
}
});
}
$('some-button').on('click',function(
var url = 'server-url';
someFunction(url);
));
我必须使用someFunction()
函数,因为这个长轮询方法正被代码的其他多个部分使用。我该怎么做才能阻止这个功能呢?
答案 0 :(得分:0)
$.ajax
返回一个包装好的xhr
对象。只需使用:
var req = $.ajax...
..
req.abort()
答案 1 :(得分:0)
尝试这样的事情
function someFunction(url){
$.ajax({
url: url,
success: function(data){
if(data.status != 'FAILED'){
//Need this ajax to stop
}
}
});
}
您的ajax请求已成功完成。但是如果状态失败并且您希望停止进一步执行代码,则不能使用!
答案 2 :(得分:0)
var ajaxReq = null;
ajaxReq = $.ajax({
url: url,
success: function(data){
if(data.status == 'FAILED'){
//Need this ajax to stop
}
}
error: function (x, y, z) {
ajaxReq.abort();
}
});
你可以使用ajaxReq.abort()来停止ajax调用。