[英]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.