亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

變量不會從Ajax函數返回

變量不會從Ajax函數返回

千萬里不及你 2019-06-21 16:19:47
變量不會從Ajax函數返回隨著我的框架的發展,我決定把它分割成文件,而不是把它留在主設計文件中。但是,通過這樣做,函數的返回不會返回任何值。數據不是空的-如果我警告js文件中的值,它們就在那里!職能:1.js文件中的函數(在執行之前包含)             var lock_get = 0;              function get_data(data, destination)               {                 if (lock_get == 0)                 {                     lock_get = 1;                     $.ajax({                         type: "POST",                         url: destination,                         async: true,                         data: data,                         success: function(data)                          {                             lock_get = 0;                             if (data)                             {                                 return data;                             }                         }                     });                 }              };下面是執行部分:    var test = get_data(data, destination);     notice(test);測試是空的.。我已經嘗試過不同的寫作方法,但我想我已經意識到了js的可能性?
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

您不能這樣做:由于調用是異步的,所以get_data函數不能返回Ajax調用的結果。

您應該做的是為get_data函數提供一個回調,并在回調中處理結果。

function get_data(data, destination, callback) 
         {

            if (lock_get == 0)
            {
                lock_get = 1;
                $.ajax({
                    type: "POST",
                    url: destination,
                    async: true,
                    data: data,
                    success: function(data) 
                    {
                        lock_get = 0;
                        if (data && callback)
                        {
                            callback(data);
                        }
                    }
                });
            }
         };

就這樣說:

get_data(data, destination, function(test){
   notice(test);});


查看完整回答
反對 回復 2019-06-21
  • 2 回答
  • 0 關注
  • 401 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號