JQUERY同步请求

时间:2018-06-06 01:17:31

标签: jquery ajax jquery-deferred when-js

我现在已经挣扎了几天,我发现有关同步请求的良好读数,但我的代码仍然没有运气。我在ajax和

中使用速记帖子请求
  

async:false

已弃用。我正在使用甚至承诺和功能,但我对我的代码没有任何影响。

以下是我正在做的ajax请求示例

arr = GetIdAndValueOfTextElement(); //This is a function 
var getCost = GetAverageItemCost(itemId, fDate, lDate);

        $.when(
            getCost

        ).then(function (cost1) {
           loopUsingSyncCall(cost1,arr);
        });

  function loopUsingSyncCall(cost1,arr) {

            let PromiseArr = arr.map(function (resource) {
                    var arrReq = [];
                    var splitCost = $('.itemCost').html().split(' ');
                    var ID = getIdAndSplit(resource.id);
                    itemId = $('#hiddenItemID').val();
                    var MrkUpselector = "#Mrk-" + ID;
                    var PriceSelector = "#Prc-" + ID;
                    var price = getPrice(cost1, $(MrkUpselector).val());
                    $(PriceSelector).val(parseFloat(price));
                    $("#icn-" + ID).empty();
                $("#icn-" + ID).html('<i class="fa fa-circle-o-notch fa- 
                    spin" aria-hidden="true"></i>');
                var dfd = savePriceArray("#icn-" + ID, ID, itemId,price);
                $.when(dfd).done(function (res) {
                   console.log(res);
                });

        }

然后,这是在服务器中处理所有数据的功能

function savePriceArray (id, pgId, itemId, price,count,arr) {

    arrayOfDeffereds.push( $.post(self.baseUrl + self.srvSavePrice, { 
     PriceGroupId: pgId, ItemId: itemId, Price: price }, function (data) 
     {           
       if (data.Data.result == true) 
        {
            $(id).html('<i class="fa fa-check" aria-hidden="true" 
            style="color: #00a65a"></i>');
            $(id + " i").fadeOut(3000);
        }

        })
   );
     return arrayOfDeffereds;
}

一切运行顺利,但仍以异步方式运行,并且不会更新我的数据库。有人可以编辑或帮助我吗?我是$.when的新人,所以请耐心等待。提前谢谢

0 个答案:

没有答案