如何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