phe*_*gen 20 javascript ajax jquery json
我正在使用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();
});
Run Code Online (Sandbox Code Playgroud)
let*_*tar 16
getJSON()
只是以下的简写:
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
Run Code Online (Sandbox Code Playgroud)
因此,您可以根据需要使用$.ajax()
和指定timeout
选项.另见:http://api.jquery.com/jQuery.getJSON/
Den*_*ret 16
getJSON()
返回一个可以调用该abort
函数的promise :
var p = $.getJSON(..., function(){ alert('success');});
setTimeout(function(){ p.abort(); }, 2000);
Run Code Online (Sandbox Code Playgroud)
编辑:但如果你的目标只是在需要花费太多时间的时候中止,那么致命的吉他的回答会更好.
Bru*_*uno 10
致命吉他提到的getJSON()
功能只是一种简写$.ajax()
.如果要检测是否发生超时而不是实际错误,请使用下面的代码.
var request = $.ajax({
dataType: "json",
url: url,
data: data,
success: function( ) { },
timeout: 2000
}).fail( function( xhr, status ) {
if( status == "timeout" ) {
// do stuff in case of timeout
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21884 次 |
最近记录: |