getJSON超时处理

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (72)

我正在使用jQuery getJSON()函数。这个功能获取数据没有问题。但有时候会等待,等待等待...并且我的加载栏显示页面中间的加载加载。所以jQuery ajax()函数有一个超时变量。但我想用getJSON功能。我认为我可以使用ajaxStart()ajaxStop()功能。但是不知道怎么样?

$('.loadingDiv')
    .hide()
    .ajaxStart(function() {
        $(this).fadeIn();
        setTimeout("throw '';",15000) //i used this but didn't work
        setTimeout("return;",15000) //i used this but didn't work
        setTimeout("abort();",15000) //i used this but didn't work.(Abort all ajax events)
    })
    .ajaxStop(function() {
        $(this).fadeOut();
    });
提问于
用户回答回答于

getJSON()返回一个可以调用abort函数

var p = $.getJSON(..., function(){ alert('success');});
setTimeout(function(){ p.abort(); }, 2000);

用户回答回答于

getJSON()只是以下几个词的缩写:

$.ajax({
    dataType: "json",
    url: url,
    data: data,
    success: success
});

所以你可以用$.ajax()并指定timeout

扫码关注云+社区