簡體   English   中英

JQuery AJAX async false 不適用於 Chrome

[英]JQuery AJAX async false not working on Chrome

我正在編寫一個 jQuery,用於將表單數據列表一一發送到服務器。

它在 Firefox 上運行良好,但是當我使用 chrome 時,它​​會一次發送所有數據

這是我的代碼

    $('.frmroldcon').each(function(){       
                var thobj=this;         
                $(thobj).prev().prev().prev('.failedicoconold').hide();
                $(thobj).prev('.doneicoconold').hide();
                $(thobj).prev().prev('.proccesicoconold').show();

                fuser = jQuery('input[name="fusername"]',thobj).val();
                fpass = jQuery('input[name="fpassword"]',thobj).val();


                  $.ajax({
           type: "POST",
           async: false,
           cache:false,
           url: "checkcon.php",
           data: { checkcons: "1", fusername: fuser, fpassword: fpass},
           success: function(data){
                $(thobj).prev().prev('.proccesicoconold').hide();
                              if(data==0){
                                 $(thobj).prev().prev().prev('.failedicoconold').show();
                                  window.errc=window.errc+1;
                              }
                              else{
                                  $(thobj).prev('.doneicoconold').show();

 }                        

           }
              });                               
            });

我正在使用 jQuery 2.1.4 版,也嘗試過其他舊版本,如 1.4,但似乎不起作用。

誰能給我一個解決方案或替代方案,將每個表單數據一一提交到服務器,

非常感謝

使用 jQuery 的$.when快速執行串行、異步、ajax 請求的方法

var requests = [];

$('.frmroldcon').each(function() {
    $.when.apply($,requests).then(function() {
       requests.push($.ajax({/* your ajax request */});
    });
});

但是,您沒有顯示必須連續執行這些請求的要求。 如果您可以通過對服務器的 1 次調用而不是 60 次調用來完成您需要做的所有事情,那么這就是您應該這樣做的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM