0

少年の質問、私は知っています。しかし、関数の途中で Ajax 呼び出しを行い、同じ関数で応答を処理する方法はありますか?

単純な解決策はありませんが、複雑な解決策を提案できる場合は、非常に助かります。

コードサンプル:

function getSomeAjax(){ 
    var params = prepareRequestParams();
    //do some ajax magic here and get ajaxResponseData
    return ajaxResponseData;
}
4

3 に答える 3

3

Ajax で A をなくさないわけではありません。非同期リクエストの代わりに同期リクエストを使用することもできます (の 3 番目の引数をxhr.open()に設定しますfalse) が、応答が返されるまですべての JS 処理がロックされるため、ひどい考えです。

コールバック メソッドを使用するだけです。

于 2012-04-19T08:17:39.377 に答える
1

コールバック関数を使用します。

function test(){
    //ajaxcall here, with a callback function to callback()
}

function callback(){
    // do the thing you want here
}
于 2012-04-19T08:17:50.313 に答える
1

同期を使用するかどうかについては言及していません。または同期します。呼び出します。
非同期の使用。ajaxReponseData を返そうとすると、サーバーから応答が返される可能性があるため、synch を使用します。呼び出すのが最も簡単な方法です。

もちろん、その同期について警告する必要があります。Ajax を呼び出すと、応答を待っている間にクライアント ブラウザーがフリーズする可能性があるため、同期を使用する必要があると思われる場合は、設計を再考する必要があります。バージョン。

于 2012-04-19T08:21:37.223 に答える