jQuery: 同期 AJAX リクエストを実行する 質問する

jQuery: 同期 AJAX リクエストを実行する 質問する

過去に jQuery をいくつかやったことがありますが、これでは完全に行き詰まっています。同期 Ajax 呼び出しを使用することの長所と短所については知っていますが、ここではそれが必須になります。

リモート ページは読み込まれますが (Firebug で制御されます)、戻り値は表示されません。

関数が適切に返されるようにするには、何を変える必要がありますか?

function getRemote() {

    var remote;

    $.ajax({
        type: "GET",
        url: remote_url,
        async: false,
        success : function(data) {
            remote = data;
        }
    });

    return remote;

}

ベストアンサー1

同期リクエストを行っているので、

function getRemote() {
    return $.ajax({
        type: "GET",
        url: remote_url,
        async: false
    }).responseText;
}

例 -http://api.jquery.com/jQuery.ajax/#example-3

ご注意ください:asyncプロパティをfalseに設定すると非推奨そして、削除の過程にあります(リンク)。Firefox や Chrome を含む多くのブラウザでは、これを使用するとコンソールに警告が表示されるようになっています。

クロム:

メインスレッドでの同期XMLHttpRequestは、エンドユーザーのエクスペリエンスに悪影響を与えるため非推奨です。詳細については、https://xhr.spec.whatwg.org/

ファイアフォックス:

メインスレッドでの同期XMLHttpRequestは、エンドユーザーのエクスペリエンスに悪影響を与えるため非推奨です。詳細についてはhttp://xhr.spec.whatwg.org/

おすすめ記事