javascript - jquery ajax 回傳值獲取
怪我咯
怪我咯 2017-06-26 10:50:25
0
4
686

`var a =1;

function setA(){
$.get('http://localhost/','a=2',function(ret){

  return ret.a;

});
}`
該如何讓函數setA回傳 用ajax取得到的ret.a的值?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(4)
刘奇

兩種方式
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() {
    var temp = '';

    $.get({
        url: 'http://localhost/',
        data: {a: 2},
        async: false,
        success: function(ret) {
            temp = ret.a;
            return ;
        }
    });
    
    return temp;
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板