返回$ .ajax()函数内部的值

Bil*_*ull 10 ajax jquery

如何从$.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)


Roc*_*oC5 5

除了使用其他人指出的回调函数之外,另一种选择是将其更改为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)

请记住,同步调用是请求处于活动状态时的阻塞调用.