1. ホーム
  2. ajax

[解決済み】jQuery: 同期AJAXリクエストの実行

2022-04-13 23:36:53

質問

過去にjQueryをいくつかやったことがあるのですが、完全に行き詰っています。同期ajaxコールを使用することの長所と短所は知っていますが、ここではそれが必要です。

リモートページは読み込まれますが(firebugで制御)、リターンは表示されません。

関数が正しく返るようにするには、どうすればよいのでしょうか?

function getRemote() {

    var remote;

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

    return remote;

}

解決方法は?

同期的なリクエストをしているのだから、これは

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

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

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

クローム

<ブロッククオート

メインスレッドでのSynchronous XMLHttpRequestは、エンドユーザーの使用感を損なうため、非推奨とします。詳しくは、以下をご覧ください。 https://xhr.spec.whatwg.org/ .

Firefoxです。

<ブロッククオート

メインスレッドでのXMLHttpRequestの同期は、エンドユーザーの使用感を損なうため、非推奨とします。詳細はこちら http://xhr.spec.whatwg.org/