-4

この問題は解決され、もう助けは必要ありません。

このコードがあり、いくつかの問題が発生しています

$.ajax({
  url: this.html_url,
  cache: false,
  success: function(html){
        $('body:last-child').append(html);
        return true;
  }
});
doSomething();

私の問題は、ajax 成功関数が完了する前に doSomething が呼び出されることです。成功関数も含めてajax呼び出しが完了した直後にdoSomethingを呼び出してほしい。何か助けはありますか?

4

4 に答える 4

1

コールバックに入れるだけ!

$.ajax({
    url: this.html_url,
    cache: false,
    success: function(html) {
        $('body:last-child').append(html);
        doSomething();
    }
});
于 2013-08-11T10:07:03.703 に答える
1

これを行う:

$.ajax({
      url: this.html_url,
      cache: false,
      success: function(html){
            $('body:last-child').append(html);
            doSomething();
            return true;
      }
   });

または約束を使用します。

于 2013-08-11T10:07:18.753 に答える
0

$.ajaxは非同期関数であるため、doSomething関数をsuccessプロパティに配置する必要があります。

于 2013-08-11T10:08:38.180 に答える
0

以下のように、関数を success 内に記述する必要があります。

$.ajax({
  url: this.html_url,
  cache: false,
  success: function(html){
        $('body:last-child').append(html);
        doSomething();
        return true;
  }
});
于 2013-08-11T10:12:43.400 に答える