1

重複の可能性:
関数からのAJAX呼び出しからの応答を返す方法は?

.get関数を呼び出したvarpNowにデータを返そうとしています。

/* set var to server side script */
var pNow = getStime();

function getStime() {
$.get('servertime.asp', function (data) {
  return data;
  //alert(data); 
});
}

alert(data)は、データが有効でサーバー側スクリプトからのものであることを確認しますが、それを呼び出した変数には戻されません。

4

2 に答える 2

2

の 2 番目の引数のコールバック関数は$.get非同期呼び出しであり、getStime関数の実行が既に終了した後に起動します。以下に示すように、 deferred.doneを使用して値を取得できます。

var pNow;
getStime().done(function(data) { pNow = data; });
alert("Use pNow here" + pNow);
function getStime() {
   return $.get('servertime.asp');
}
于 2013-01-18T05:37:54.420 に答える
0

このようなことができます。

/* set var to server side script */
var pNow = getStime();

function getStime() {
  var newData = null;
  $.get('servertime.asp', function (data) {
     newData = data;
    //alert(data); 
  }).complete(function() {
     return newData;
  });

}
于 2013-01-18T05:41:03.757 に答える