如何从$.ajax函数内部返回值?
这是我的基本设置:
function something(){
var id = 0;
$.ajax({
'url':'/some/url',
'type':'GET',
'data':{'some':'data'},
'success':function(data){
id = data['id'];
}
});
return id;
}
Run Code Online (Sandbox Code Playgroud)
Joe*_*Joe 17
使用回调函数,它是JavaScript方式:
function something(callback){
$.ajax({
'url':'/some/url',
'type':'GET',
'data':{'some':'data'},
'success': callback
});
}
something(function (data) {
data['id']; // use it here
})
Run Code Online (Sandbox Code Playgroud)
除了使用其他人指出的回调函数之外,另一种选择是将其更改为synchronous请求:
function something(){
var id = 0;
$.ajax({
'url':'/some/url',
'type':'GET',
'async':false,
'data':{'some':'data'},
'success':function(data){
id = data['id'];
}
});
return id;
}
Run Code Online (Sandbox Code Playgroud)
请记住,同步调用是请求处于活动状态时的阻塞调用.