2016-10-31 3 views
0

私はAJAXリターンを変数として連結に割り当てることができません。それは私がやっているものですので、AJAXを返却し、連結してテーブルを作成します。

  function GetSex() { 
      $.ajax({ 
       url: '/SEX/GetAllSex/', 
       success: function (data) { 
        console.log(data); 
       } 
      }); 
     } 

     function GetUsers() { 
      var Pistas = null; 
      $.ajax({ 
       url: '/Users/GetAllUsers/', 
       success: function (data) { 
        console.log(data) 

       } 
      }); 
     } 

が、私は結果をCONCATしたい:ここ

はコードである

var Sex = GetSex(); 
var Users = GetUsers(); 

var x = Users.concat(Sex); 

それはセックスとユーザー変数が定義されていないことを言います!

わかりません。

事前に感謝=)

+0

結果はどのように見え、どのように見えますか? – Ding

+0

'GetSex()'や 'GetUsers()'は値を返しません - コンソールへのajax呼び出しの結果を出力します - 'console.log(data);を' return data; 'に置き換えて –

+1

あなたの 'success'関数内で' sex'と 'users'変数を割り当てる必要があります(あなたの' console.log'を持っているところです)。関数が非同期的に連動して連鎖することもあります。 –

答えて

0

まあ、

に注意してください、私はただの変数を宣言していませんでした:最後のコードは次のようだった

var Sex; 
var Users; 

function GetSex() { 
     $.ajax({ 
      url: '/SEX/GetAllSex/', 
      success: function (data) { 
       Sex = data; 
       console.log(data); 
      } 
     }); 
    } 

    function GetUsers() { 
     var Pistas = null; 
     $.ajax({ 
      url: '/Users/GetAllUsers/', 
      success: function (data) { 
       Users = data; 
       console.log(data) 

      } 
     }); 
    } 

ありがとうございましたとにかく

1

GetSexとGetUsers非同期依頼あります。 要求を連鎖させてから、コールバック関数内で変数の値を割り当てる必要があります。

function GetSex(successCallback) { 
    $ajax({ 
     url: '/SEX/GetAllSex/', 
     success: successCallback 
    }); 
} 

function GetUsers(successCallback) { 
    $.ajax({ 
     url: '/Users/GetAllUsers/', 
     success: successCallback 
    }); 
} 

function concatUsers(successCallback) { 
    GetSex(function(Sex) { 
     GetUsers(function(Users) { 
      successCallback(Users.concat(Sex)); 
     }} 
    }); 
} 


var x; 

concatUsers(function(data) { 
    x = data; 
}); 

前だけCallback Hell

関連する問題