Ajax调用超时

时间:2012-08-28 17:41:26

标签: javascript ajax

我目前正在使用轻量级的javascript库进行ajax调用。该库是'jx'。

它工作正常。但我想添加一个超时,以便在一段时间后没有响应时停止ajax调用。 我环顾四周,似乎没有像jquery那样的超时参数...

有没有办法通过纯javascript实现超时?像这样:

timer = setTimeout('function{stop the call}', 20000);
jx.load(url, function(data){ 
        // get the data
        clearTimeout(timer);
        }

我试过了,但效果不好......还有其他办法吗? 或者使ajax调用syn

1 个答案:

答案 0 :(得分:2)

如果this是您正在使用的库,则似乎有可能:

var xhr = jx.init();
var timer = setTimeout(function(){ 
    if(xhr && xhr.abort) xhr.abort();
}, 20000);

jx.load(url, function(data){ 
    clearTimeout(timer);
});