javascript - pemerolehan nilai pulangan jquery ajax
怪我咯
怪我咯 2017-06-26 10:50:25
0
4
697

`var a =1;

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

  return ret.a;

});
}`
Bagaimana untuk membuat fungsi setA mengembalikan nilai ret.a yang diperoleh menggunakan ajax?

怪我咯
怪我咯

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

membalas semua(4)
刘奇

Dua cara
1: Tukar ajax kepada penyegerakan, dan anda boleh terus mendapatkan nilai pulangan yang betul.
2: Tambahkan logik pemprosesan anda terus ke panggilan balik ajax

刘奇

Tambah panggilan balik parameter fungsi ke getA, dan kemudian gunakan panggilan balik(set.a) dalam nilai pulangan ajax.
zAkses set.a seperti ini apabila menggunakan getA: getA(function(a){console.log(a)})

Contohnya adalah seperti berikut:

    var a =1;

    function setA(callback){
        $.get('http://localhost/','a=2',function(ret){
            callback(ret.a);
        });
    }
    
    setA(function(a) {
        console.log('a:' + a)
    })
仅有的幸福
var a;

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

function getA(){
    return a;
    }
小葫芦

kembalikan pembolehubah sementara dalam 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;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan