`var a =1;
function setA(){
$.get('http://localhost/','a=2',function(ret){
return ret.a;
});
}`
Comment faire en sorte que la fonction setA renvoie la valeur de ret.a obtenue en utilisant ajax??
走同樣的路,發(fā)現(xiàn)不同的人生
Deux fa?ons
1?: changez ajax en synchronisation et vous pourrez directement obtenir la valeur de retour correcte.
2?: Ajoutez votre logique de traitement directement au rappel ajax
Ajoutez un rappel de paramètre de fonction à getA, puis utilisez callback(set.a) dans la valeur de retour ajax.
zAccess set.a comme ceci lors de l'utilisation de getA?: getA(function(a){console.log(a)})
Les exemples sont les suivants?:
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;
}
renvoie la variable temporaire dans setA
里使用一個(gè)臨時(shí)變量存儲(chǔ),setA
里面的AJAX使用同步請(qǐng)求,成功后將值存在臨時(shí)變量中,然后由setA
setA() {
var temp = '';
$.get({
url: 'http://localhost/',
data: {a: 2},
async: false,
success: function(ret) {
temp = ret.a;
return ;
}
});
return temp;
}