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)
})
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:
kembalikan pembolehubah sementara dalam
setA
里使用一个临时变量存储,setA
里面的AJAX使用同步请求,成功后将值存在临时变量中,然后由setA