過去に 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/