2017-07-28 20 views
0

私は以下の関数を持っていますが、値を正しく設定するにはreturnedData = resultを得ることができません。 alert(result)を同じ場所に含めると、ポップアップに「探している文字列」が正しく表示されます。値を返すAJAX関数

ここに何か不足していますか?変数returnedDataはどこからでもアクセス可能な関数の外に宣言したので私は考えていましたか?

function AJAXprocesstwoVariables(Var1, Var2) { 
    var V1 = Var1, 
     V2 = Var2; 
     var returnedData; 
    $.post(
     processinglocation, { 
      data1: V1, 
      data2: V2 
     }, 
     function (result) { 
      returnedData = result; // *<- this doesn't work* 
      // alert(result); // *<-this works* 
     } 
    ); 
    return returnedData; 
} 

var ReturnedInfo = AJAXprocesstwoVariables(Var1, Var2); 
$('body').append(ReturnedInfo); 

答えて

0

$.postは非同期に実行されます。その行が実行されると、要求はバックグラウンドで行われ、すぐに返信行AJAXprocesstwoVariablesにヒットします。あなたの$.postの成功機能で設定される前にreturnedDataを使用しようとしています。

+0

非同期でリードしてくれてありがとう。私は必要なものを手に入れました。 – denski