`var a =1;
function setA(){ $.get('http://localhost/','a=2',function(ret){
return ret.a;
});}`該如何讓函數setA回傳 用ajax取得到的ret.a的值?
走同样的路,发现不同的人生
兩種方式1:ajax改成同步,可以直接取得正確的return的回傳值。 2:ajax回呼中直接加入你的處理邏輯
給getA加個函數的參數callback,然後在ajax回傳值裡用callback(set.a)。 z在使用getA時這樣存取到set.a:getA(function(a){console.log(a)})
範例如下:
var a =1; function setA(callback){ $.get('http://localhost/','a=2',function(ret){ callback(ret.a); }); } setA(function(a) { console.log('a:' + a) })
雷雷
在setA裡使用一個臨時變數存儲,setA裡面的AJAX使用同步請求,成功後將值存在臨時變數中,然後由setA傳回臨時變數
setA
setA() { var temp = ''; $.get({ url: 'http://localhost/', data: {a: 2}, async: false, success: function(ret) { temp = ret.a; return ; } }); return temp; }
兩種方式
1:ajax改成同步,可以直接取得正確的return的回傳值。
2:ajax回呼中直接加入你的處理邏輯
給getA加個函數的參數callback,然後在ajax回傳值裡用callback(set.a)。
z在使用getA時這樣存取到set.a:getA(function(a){console.log(a)})
範例如下:
雷雷
在
setA
裡使用一個臨時變數存儲,setA
裡面的AJAX使用同步請求,成功後將值存在臨時變數中,然後由setA
傳回臨時變數