等待ajax成功加载页面

时间:2018-02-24 08:43:37

标签: jquery ajax pageload

我有一个类似

的ajax调用
$.ajax({...

并且在成功回调中有一行代码,如

var editor = $find("<%= NewsDetail.ClientID%>");

我必须告诉$find()稍后像pageLoad()一样运行,但它仍然必须在成功回调中。

我怎样才能做到这一点?

提前感谢。

2 个答案:

答案 0 :(得分:0)

你有两种方法可以做到这一点。一个是让文件准备就绪的$ find 在成功中暂停

 $.ajax().success(function(data){
  var editors = data;
     // I supose you print items...

     // then 
  setTimeout(function(){
     var editor = $find("<%= NewsDetail.ClientID%>");
  },600)

 })

答案 1 :(得分:0)

这是一个异步控制流问题。如果您使用lib async,代码就像

async.parallel([
  function(callback) { $ajax({ success: callback }) },
  function(callback) { /* callback if dom ready*/ }
], function(err, results) {
  if (!err) {
    const value = results[0]
    /* do your stuff */
  }
})