cari

Rumah  >  Soal Jawab  >  teks badan

javascript - pemerolehan nilai pulangan jquery ajax

`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?

怪我咯怪我咯2711 hari yang lalu687

membalas semua(4)saya akan balas

  • 怪我咯

    怪我咯2017-06-26 10:52:25

    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

    balas
    0
  • 怪我咯

    怪我咯2017-06-26 10:52:25

    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)
        })

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-06-26 10:52:25

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

    balas
    0
  • 高洛峰

    高洛峰2017-06-26 10:52:25

    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;
    }

    balas
    0
  • Batalbalas