`var a =1;
function setA(){
$.get('http://localhost/','a=2',function(ret){
return ret.a;
});
}`
該如何讓函數setA回傳 用ajax取得到的ret.a的值?
怪我咯2017-06-26 10:52:25
給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)
})
高洛峰2017-06-26 10:52:25
在setA
裡使用一個臨時變數存儲,setA
裡面的AJAX使用同步請求,成功後將值存在臨時變數中,然後由setA
傳回臨時變數
setA() {
var temp = '';
$.get({
url: 'http://localhost/',
data: {a: 2},
async: false,
success: function(ret) {
temp = ret.a;
return ;
}
});
return temp;
}