Javascript 与Ajax请购单一起使用$

Javascript 与Ajax请购单一起使用$,javascript,jquery,ajax,Javascript,Jquery,Ajax,我想按一定的顺序执行一些$.ajax()请求,所以我尝试使用$ 但它在请求完成之前在控制台上拍摄消息。有什么建议吗 谢谢 编辑 这是我的一份请购单。我将发布一个,但是其他的都非常相似,只更改了一些参数 代码: 函数ajaxrequision1(){ $.ajax({ 类型:'GET', 跨域:是的, 网址:'http://www.myurl.com.br/api/my_php.php?callbackplat=?', 数据类型:'jsonp', 数据:{货币:$('#cur').val()},

我想按一定的顺序执行一些$.ajax()请求,所以我尝试使用$

但它在请求完成之前在控制台上拍摄消息。有什么建议吗

谢谢

编辑

这是我的一份请购单。我将发布一个,但是其他的都非常相似,只更改了一些参数

代码:

函数ajaxrequision1(){
$.ajax({
类型:'GET',
跨域:是的,
网址:'http://www.myurl.com.br/api/my_php.php?callbackplat=?',
数据类型:'jsonp',
数据:{货币:$('#cur').val()},
beforeSend:function(){
$('#加载').css(“显示”、“块”);
$('table[name=tb_latam]').css(“不透明度”,“0.01”);
}    
}).完成(功能(数据){
控制台日志(数据);
//这里,我使用接收到的数据构建一个表。
$('加载').css(“显示”,“无”);
$('table[name=tb_latam]').css(“不透明度”,“1”);
$('tb#latam')。追加('+'Active'+
''+data.lat_qtdA+
''+data.lat_激活+
''+数据。lat_p_活动+'';
$('tb#latam')。追加('+'Inactive'+
''+data.lat_qtdI+
''+data.lat_不活动+
''+数据。lat_p_不活动+'';
$('tb#latam')。追加('+'replacement'+
''+data.lat_qtdR+
''+data.lat_被替换+
''+' - '+'');
})
.fail(函数(数据、文本状态、错误抛出){
警报(“错误!”);
控制台日志(数据);
console.log(textStatus);
console.log(错误抛出);
});
返回false;
}

我认为您需要使用
.done(…)

检查以了解差异

编辑

根据jquery的文档,如果您将NOT-a-promise传递给
。when(…)
方法,则会自动调用
。然后(…
)将传递给
。when(…)
的参数视为已解析的承诺,并将它们传递给
。然后(…)

因此,您要传递的数组必须在正确的时间调用。
when(…)

如果将单个参数传递给jQuery.when(),并且它不是延迟或承诺,则它将被视为已解析的延迟,并且将立即执行任何附加的doneCallbacks

编辑2

我以为你的ajaxRequisitions方法已经奏效了。下面是从文档到
.when(…)
函数的示例

$.when( $.ajax( "test.aspx" ) ).then(function(
        data, textStatus, jqXHR ) {
    alert( jqXHR.status ); // Alerts 200
});
您需要更新它,以便添加
.apply(…)
,并使您的
ajaxRequisition
。。。方法在每个调用中返回所需的Ajax调用。

接受延迟对象。当您的
ajaxRequisition
返回一个
非延迟的
$。when()
将返回一个已解决的承诺

尝试更改您的代码

function ajaxRequisition1 () {
    return $.ajax({
        ...
    });
}

function ajaxRequisition2 () {
    return $.ajax({
        ...
    });
}

$.when.apply(null, [ajaxRequisition1(),ajaxRequisition2()]).done(function () {
    console.log("Completed all requests.");
});

您好,我改成了
。完成了
,但它没有改变任何事情,在请购单完成之前控制台消息不断出现。好的,我现在明白了,也许您的问题是另一个问题。我正在更新answerUhn,好吧,但是´$.ajax()´请购单还没有作为期票返回?如果没有,我如何让他们做?你能给我一个工作的例子吗?不能,手头没有电脑,但是你没有做任何Ajax请求。我正在发布我链接的文档中的一个示例,如果您可以发布有助于发现问题的ajaxRequisition方法,谢谢。我只是把
返回
放在
$.ajax()前面,一切正常!
$.when( $.ajax( "test.aspx" ) ).then(function(
        data, textStatus, jqXHR ) {
    alert( jqXHR.status ); // Alerts 200
});
function ajaxRequisition1 () {
    return $.ajax({
        ...
    });
}

function ajaxRequisition2 () {
    return $.ajax({
        ...
    });
}

$.when.apply(null, [ajaxRequisition1(),ajaxRequisition2()]).done(function () {
    console.log("Completed all requests.");
});