web-dev-qa-db-ja.com

jQuery .load()コールバック関数

このような問題に対する多くの質問と解決策を見てきましたが、何もうまくいきませんでした。私はこれを持っています:

_function() {
    $("#bdiv").load("bosses.php #icc10n",function(){
        return $("#bdiv").html();
    });
}
_

しかし、それは機能していません。明確にするために、コンテンツを_#bdiv_に読み込んでから、_#bdiv_のコンテンツを返します。しかし、コールバック関数に入れても、コンテンツがロードされる前に$("#bdiv").html()が返されているようです。

17
Dan
$("#bdiv").load("bosses.php #icc10n",function(data){
    // use the data param
    // e.g. $(data).find('#icc10n')
});
44
Petah

私が知る限り、$。ajax()、$。post()、$。get()などのメソッドのコールバック関数でreturnステートメントを作成することはできません。ただし、関数の外部で宣言された変数に「データ」値を格納し、コールバック関数の実行時にその変数の値を設定することもできます。また、他にもさまざまなオプションがあります。

1
Danny Bullis

それはできません。

AJAXはasynchronousです。つまり、サーバーが応答を送信する前に関数が返されます。
コールバックを使用して、値を発信者に渡す必要があります。方法$.loadします。

0
SLaks