重複の可能性:
関数からの AJAX 呼び出しからの応答を返す方法は?
Google Chrome の開発者コンソールでデバッグを試みましたが、どうしても欲しい結果が得られません。AJAX を介して外部ファイルから値を返す JavaScript 関数を作成したいと考えています。私はこのスクリプトを試しました:
var site = {
token: function(){
$.get('auth.php',function(data){
return data;
});
}
};
...site.token()
関数を呼び出すと、取得したコンテンツがauth.phpから返されます。しかし、そうではありません。いつもundefined
です。私もこれを試しました:
var site = {
token: function(){
var token = null;
$.get('auth.php',function(data){
token = data;
});
return token;
}
};
しかし、それはまだ同じです。また、これを行うことで回避策を見つけます:
var token = $.get('auth.php',function(data){
return data;
});
token.responseText;
そのコードを使用して、期待どおりの結果を得ることができます。しかし、すでに関数に入れている場合:
var site = {
token: function(){
var token = $.get('auth.php',function(data){
return data;
});
return token.responseText;
}
};
・・・また失敗。
*追伸: プログラミングで本当にストレスを感じているだけなのか、なぜ正しくできないのかわかりません。---」