我有很多ajax请求,我想在其中一个完成时完成一些代码,但是$。当工作不正常时,我怎么能正确地做到这一点?
getData();
$.when().done(function()
//doing something here
);
function getData(){
$.ajax({
type: 'POST',
url: '1.php',
data:'',
dataType: 'json',
success:function(data_Object){
}
});
}
答案 0 :(得分:3)
您需要将某些内容传递给$ .when(),这可能是您的ajax调用或延迟对象http://api.jquery.com/jquery.when/
尝试这样的事情:
$.when(getData(), getData2()).done(function(data1, data2){
console.log("do stuff with", data1);
console.log("do stuff with", data2);
);
function getData() {
return $.ajax({
type: 'POST',
url: '1.php',
data: '',
dataType: 'json'
});
}
function getData2() {
return $.ajax({
type: 'POST',
url: '2.php',
data: '',
dataType: 'json'
});
}
您还可以在成功方法中处理回调:
function getData2() {
return $.ajax({
type: 'POST',
url: '2.php',
data: '',
dataType: 'json',
success: function(data){
console.log("its finished", data);
}
});
}
答案 1 :(得分:0)
如果你不想,你不必使用。
getData(doSomething);
function doSomething(data){
//do something with data object
}
function getData(callback)
{
$.ajax
({
type: 'POST',
url: '1.php',
data:'',
dataType: 'json',
success:function(data_Object)
{
callback(data_Object)
}
});
}