Jquery ajax在循环中调用,等待每个调用完成

时间:2015-09-03 10:42:43

标签: php jquery ajax .when

我有这个ajax函数,它返回一个价格数组:

function get_date_price(checkdate, type_r) {
    return $.ajax({
             type: "POST",
             url: "hotels/get_check_date_price", 
             data: {id: $("#hotel_id").val(), checkdate1: checkdate, type_r1: type_r},
             dataType: "JSON",  
             cache:false,
             success:
             function(data){
             }
    });
}

然后我想在循环中调用此函数并计算总价格,我使用$.when等待每个ajax调用完成,以便返回的价格是正确的(否则它返回0)< / p>

var total = 0;
for(var i = 0; i < $("#nights").val(); i++){
    $.when(get_date_price("02/09/2016","Chambre Single")).then(function (v) {
        total += parseFloat(v[1][0].price);
        console.log(total);    
    });
}

当循环包含例如5次迭代时,一切都完美,当迭代次数增加时,一些请求返回403! :

enter image description here

PS:我已经重新确定在私有导航中,代码正常运行!

0 个答案:

没有答案