Javascript ajax在dom就绪后完成函数调用
我需要发出一个ajax请求,然后处理从服务器返回的一些数据。我想在文件准备好之前提出这个请求。但只有在文档准备好之后,我才能处理数据。我有一个想法可以做这样的东西:Javascript ajax在dom就绪后完成函数调用,javascript,jquery,ajax,document-ready,.when,Javascript,Jquery,Ajax,Document Ready,.when,我需要发出一个ajax请求,然后处理从服务器返回的一些数据。我想在文件准备好之前提出这个请求。但只有在文档准备好之后,我才能处理数据。我有一个想法可以做这样的东西: $.when($(document).ready(), $.ajax(/*some request*/)).done(function(){//processing data from the server}); 它将如何工作?或者是否有任何其他选项可以获得我想要的结果尝试使用:$(document).ajaxCom
$.when($(document).ready(),
$.ajax(/*some request*/)).done(function(){//processing data from the server});
它将如何工作?或者是否有任何其他选项可以获得我想要的结果尝试使用:$(document).ajaxComplete(function(){}而不使用异步帮助程序库, 您可以使用一些标志和助手函数,虽然不是最优雅的,但它可以工作
var docReady = false;
var responseReady = false;
var tryEvaluateResponse = function() {
if(docReady && responseReady) {/*processing data from the server*/}
};
$(document).ready(function() {
docReady = true;
tryEvaluateResponse();
});
$.ajax(/*some request*/)).done(function() {
responseReady = true;
tryEvaluateResponse()
});
不,这不起作用,因为
$(document).ready()
不会返回承诺。但是,您可以这样做
var request = $.ajax(/*some request*/);
$(document).ready(function() {
request.done(function(){
//processing data from the server
});
});