我有2个Ajax调用,其中一个在成功我想保存数据在var中使用到另一个Ajax调用。
$.ajax({
all my options
} ),
success: function(data){
jsondata = $(data).get(0);
var tempVal = jsondata.valor_variable; <-------------//- this var
}
});
$.ajax({
all my options
} ),
success: function(data){
$('.content-' + value).load("Views/temp", function(){
$('#temp').text(tempVal); <----------------------//- use it here
})
}
});
我怎么能那样做呢?
将第二个请求放在一个单独的函数中,并通过传递您想要的变量tempVal
在第一个请求的成功回调中调用它:
$.ajax({
all my options
} ),
success: function(data){
jsondata = $(data).get(0);
var tempVal = jsondata.valor_variable; <-------------//- this var
second_ajax_request(tempVal);
}
});
fucntion second_ajax_request(tempVal){
$.ajax({
all my options
} ),
success: function(data){
$('.content-' + value).load("Views/temp", function(){
$('#temp').text(tempVal); <----------------------//- use it here
})
}
});
}
我要这样设置,
$.ajax({
all my options
} ),
success: function(data){
jsondata = $(data).get(0);
var tempVal = jsondata.valor_variable; <-------------//- this var
$.ajax({
all my options
} ),
success: function(data){
$('.content-' + value).load("Views/temp", function(){
$('#temp').text(tempVal);
})
}
});
}
});
尝试使用deferred。那么你的呼叫将被连锁。https://api.jquery.com/deferred.then/