ajax-js中for循环每次循环如何暂停一秒后执行

问题描述

js中for循环每次循环如何暂停一秒后执行
大神们帮我看一下我写的这段代码:
//人员授权的全增功能
function alladdroleshouquanusers()
{

            var rows = partid3.getSelecteds();            for(var i=0;i<rows.length;i++)            {            var sendData = nui.encode({'userid':rows[i].OPERATOR_ID'prPartId':plPartId3});            nui.ajax            (                {                     url:""com.spinsoft.eip.portal.Part.queryalladdusers.biz.ext""                     type:'POST'                     data:sendData                     cache: false                     contentType:'text/json'                     success:function(text)                     {                         var returnJson = nui.decode(text);                         if(returnJson.exception == null)                         {                             partid3.reload();                             partid4.reload();                         }                         else                         {                             nui.alert(""添加角色授权失败""系统提示"");                             partid1.unmask();                         }                     }                }            );            }      }

我是想利用选择框全选,然后点击一键全都添加,但是在这里遇到了问题,以上代码中数据可以获取,但是在执行ajax的时候出现了问题,全增的时候之增加过去了一部分,还有一部分没有增加过去,我尝试在for循环下面加了一个alert,然后弹出一个alert就点击一下,就这样的方式,数据居然可以全都添加过去,为此很纳闷,不知道是哪里出了问题,自己怀疑是不是ajax执行的太快了,数据丢失的原因,所以想让for循环慢一点执行试一下,网上搜索页搜索不到结果,哪位大神有解决的办法,谢谢了!

解决方案

<script>var index=0; var handler = setInterval(""alladdroleshouquanusers()""1000); if(index<rows.length){    index++;        if(index>=rows.length){            clearInterval(handler);//关闭定时        }    原来for里面的一堆代码 } </script>

解决方案二:
两种方法可以解决你的问题:同步阻塞的ajax;或写一个函数递归调用请求ajax。

解决方案三:
For循环的执行流程
js for 循环
js的for循环

解决方案四:
你这里每次循环就发送一次请求,为什么不批量组织在一起,请求一次呢?

解决方案五:
加一个 async:false试试

时间: 2024-09-19 09:52:14

ajax-js中for循环每次循环如何暂停一秒后执行的相关文章

javascript-js中两个for循环之间的传值问题

问题描述 js中两个for循环之间的传值问题 假设有两个for循环 var data=0; for(var a=0;a<9;a++){ data+=a; } 那么我在第二个for循环中怎么取得第一个for循环的值 for(var b=0;b<9;b++){ alert(data); data+=b; } 在第二个for循环中alert出来的都是0. 解决方案 两个循环在一个函数中么?直接写应该是可以的. 如果不在一个函数,第一个的data写在函数外面,定义成全局的. 解决方案二: 如果你是想第

js中怎么循环输出两个table两个table的输出

问题描述 js中怎么循环输出两个table两个table的输出 function searchSpecific(headCount){ //查询每个月具体扣税 $.ajax({ type: 'POST', url: 'personVoid_searchPersons.action', data: { headCount: headCount }, dataType: 'JSON', success: function(data){ var today = new Date(); var year

js中switch case循环实例代码

 这篇文章主要介绍了js中switch case循环实例代码,有需要的朋友可以参考一下 代码如下: switch (objNameType) {   case 'PD':   valueUD = obj.id;   id = objName;   var loadVUD = UserData.load(exam, id);   if (loadVUD == null || loadVUD == undefined || loadVUD == '') {   var tmpTGId = obj.i

c++-C++循环体中的局部变量怎样在每次循环后内存清零,进行下次循环的时候再重新赋值

问题描述 C++循环体中的局部变量怎样在每次循环后内存清零,进行下次循环的时候再重新赋值 在做一道题 依次输入每个人的名字然后输入成绩,每个名字后面都跟着每个人的成绩,不是把人名输完再输成绩. 然后要求统计每个人几次成绩的和,依次输出每个人姓名以及他们的总成绩.这个怎么做? #include #include #include using namespace std; int main() { int r; vector name; cout<<"人数:"; cin>

new- 在js中引入movieClip后 button点击事件里的for循环失效!

问题描述 在js中引入movieClip后 button点击事件里的for循环失效! /** * Created by Administrator on 2015/5/27. */ var stage,image,btn1,btn2; var image_x = 200; var image_y = 20; var step_x; var step_y; var arr_x_r = []; var arr_x_l = []; var arr_y = []; var arry = []; wind

javascript for循环-js 中for循环成为死循环

问题描述 js 中for循环成为死循环 下面两个代码,通过 main去循环调用 testfor函数,当main中的i>=6的时候,一直死循环,不断地) alert 出 "i=6 , true" ,刚刚接触JavaScript,请教了~ function testfor(x){ for (i=0;i<5;i++){ alert(i); if(i==x) { return false; } } return true; } function main(){ for (i=3;i

浅谈js中的in-for循环_javascript技巧

浅谈js中的in-for循环 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="jquery.js"></script> </hea

当js中的for循环遇到延时器或者定时器时需要注意的问题(这里有个大坑)

当你在for循环里写if判断,再加延时器或者定时器时,一定要保存当前的i的值,再做处理,否则你拿到的i的值会是for循环里最大的那个: 看demo for (var i = 0; i < 10; i++) { if(i == 5){ setTimeout(aa,2000); function aa(){ console.log( "i="+i); } } } 你们觉得会打印出i的值是几? 最终结果会是10! 延时器换做定时器,  最终结果也是一样的: 那么为什么呢? js读取代码

webqq的js验证里面的for循环怎么进去不了

问题描述 webqq的js验证里面的for循环怎么进去不了 var p=document.getElementsByTagName("input"); var username=p[0].value; var password=p[1].value; var len=username.length; //alert(typeof(len)); //alert(len); for(i=0;i++;i alert("niha"); if(username[i]>=