Jquery 在循环中发送Ajax请求时,浏览器冻结

Jquery 在循环中发送Ajax请求时,浏览器冻结,jquery,ajax,loops,for-loop,each,Jquery,Ajax,Loops,For Loop,Each,首先,我知道有很多像这样的问题,但我的问题与其他问题没有什么不同。事实上,问题是我在一个循环中发送一个ajax请求,当脚本运行并到达该循环部分时,浏览器会冻结现在我确实需要该循环,但我想知道是否有任何方法可以在不冻结浏览器的情况下使请求工作。这是我写的代码 jQuery(document).on(“单击”、“#启动备份”,函数(e){ e、 预防默认值(); //上载文件夹和目录设置。 var$=jQuery; $('#loadingmodel').model('show'); //重命名文件夹

首先,我知道有很多像这样的问题,但我的问题与其他问题没有什么不同。事实上,问题是我在一个循环中发送一个ajax请求,当脚本运行并到达该循环部分时,浏览器会冻结现在我确实需要该循环,但我想知道是否有任何方法可以在不冻结浏览器的情况下使请求工作。这是我写的代码

jQuery(document).on(“单击”、“#启动备份”,函数(e){
e、 预防默认值();
//上载文件夹和目录设置。
var$=jQuery;
$('#loadingmodel').model('show');
//重命名文件夹名称
var folderName=$(this).parentsUntil(“#备份设置”).find(“#zipName”).val();
var domain=window.location.hostname;
var dt=新日期();
var dateTime=dt.getDay()+“-”+dt.getMonth()+“-”+dt.getFullYear()+“-”+dt.getHours()+”:“+dt.getMinutes();
如果(folderName!=''){
var folder=domain+''.'+folderName+'.'+dateTime;
}否则{
var folder=domain+'\'+dateTime;
}
var ftp_dir=$(this.attr('data-ftp-directory');
var s3_dir=$(this.attr('data-s3-directory');
var drive_dir=$(this.attr('data-drive-directory');
var dropbox_dir=$(this.attr('data-dropbox-directory');
var source=$(this.attr('data-source');
//上传基本设置。
变量类型=$(“#type”).find(“.active”).attr('data-value');
var component=$('#component').find('.active').attr('data-value');
var schedule=$('#schedule').find('.active').attr('data-value');
如果(计划=='schedule'){
var scheduleType=$('#SchedulePane').find('.active input').val();
如果(scheduleType==‘每月’){
var dated=$('scu date').val();
var day=$('sc#u day').val();
var hour=$('#M-H').val();
var min=$('#M-M').val();
var am=$('#M-T').val();
}else if(scheduleType==‘weekly’){
var dt=新日期();
var dated=dt.getFullYear()+'-'+parseInt(dt.getMonth()+1)+'-'+dt.getDate();
var day=$('#W-D').val();
var hour=$('W-H').val();
var min=$('#W-M').val();
var am=$('#W-T').val();
}else if(scheduleType==='daily'){
var dt=新日期();
var dated=dt.getFullYear()+'-'+parseInt(dt.getMonth()+1)+'-'+dt.getDate();
var日=“”;
var hour=$('#D-H').val();
var min=$('#D-M').val();
var am=$('#D-T').val();
}else if(scheduleType==‘hourly’){
var dt=新日期();
var dated=dt.getFullYear()+'-'+parseInt(dt.getMonth()+1)+'-'+dt.getDate();
var日=“”;
变量小时=“”;
var min=“”;
var am=“”;
}
}
var storedIn=$('.storedIn').map(函数(){
返回$(this.attr('data-value');
}).get();
如果(组件==“部分”){
var allComponents=$(“#partial_params.active color”).map(函数(){
返回$(this.attr('id');
}).get();
}
jQuery.ajax({
url:ajaxurl,
键入:“GET”,
数据:{
操作:“创建_zip”,
文件夹:folderName,
ftp_dir:ftp_dir,
s3_目录:s3_目录,
drive_dir:drive_dir,
dropbox_dir:dropbox_dir,
资料来源:资料来源,
组件:组件,
所有组件:所有组件,
storeIn:storedIn,
scheduleType:scheduleType,
附表:附表,
日期:年月日,
天:天,
小时:小时,
敏:敏,,
上午:上午,,
b类型:类型
},
成功:函数(){
如果(计划=='schedule'){
位置。重新加载(true);
}否则{
jQuery.ajax({
url:ajaxurl,
键入:“GET”,
async:false,
数据:{
操作:“获取拉链数”
},
成功:功能(数据){
var总计=数据;
对于(变量i=0;i