var a =1;
function setA(){
$.get('http://localhost/', 'a=2', function(ret) {
return ret.a;
});
}
该如何让函数setA返回 用ajax获取到的ret.a的值?
var a =1;
function setA(){
$.get('http://localhost/', 'a=2', function(ret) {
return ret.a;
});
}
该如何让函数setA返回 用ajax获取到的ret.a的值?
给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)
})
var a;
$.get('http://localhost/','a=2',function(ret){
setA(ret.a); });
function setA(value){
a=value;
}
function getA(){
return 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;
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
两种方式
1:ajax改成同步,可以直接获取正确的return的返回值。
2:ajax回调中直接添加你的处理逻辑