如何jQuery函数知道

我加载图片的网址内容供的getJSON一个div AJAX完成,当它完成它会改变一个变量,所以我知道AJAX做如何jQuery函数知道

如何等功能知道Ajax是做什么?这是我想要的:

用户导航到相册的div,然后它会检查AJAX是否完成。如果没有完成AJAX,会显示一个加载图像,但是当AJAX完成时,如何知道AJAX已完成以停止显示加载图像?

我的想法:

1 /使用while循环将冻结一切,其实并不连续工作检查AJAX状态变量。

2 /我不能把所有的导航代码放在回调函数中,因为我希望用户在AJAX加载时可以自由地进行操作。把它全部放在回调函数中会产生一团乱码

这个问题怎么解决?

回答:

你不应该“检查” AJAX是否通过轮询完成一个变量,要注册一个回调,这将是自动当它完成,最好使用调用jQuery的"deferred objects",例如

$.getJSON(...).done(function(data) { 

// my ajax is finished!

});

最终你不必把所有的代码回调,但你必须确保它结束了由回调称为

回答:

您可以使用全局AJAX:{对于要求您不必表现出任何加载图片,可以使用选项global:false}在

$(document).on('ajaxStart',function(event, jqxhr, settings){ 

//show loading img

})

.on('ajaxComplete',function(event, jqxhr, settings){

//hide loading img

})

回答:

检查机制的文档你有“complete”回调

回答:

ajax调用有一个名为“success:function(data)”的扩展,数据包含从请求中获得的任何内容。

$.ajax({ 

type: "POST",

dataType="json",

url:url,

data:{id:x},

success : function(result){

//stop loading message here

}

回答:

$.ajax({ 

type: "POST",

dataType : "json",

...

}).done(function(data) {

// Stuff you want to do after ajax complete

});

OR

$(document).ajaxComplete(function() { 

// Ajax Completed

});

以上是 如何jQuery函数知道 的全部内容, 来源链接: utcz.com/qa/266880.html

回到顶部