精华内容
下载资源
问答
  • 在每个循环的第二个循环中,ajax调用完全没有进行。我不知道为什么。我指定asyn为false。这没有帮助。无论如何,这似乎不是问题。每个循环jQuery中的Ajax调用$('#'+divid).children('div').children('div').each...

    这是一个函数,我必须通过ajax调用写入一个xml文件。该代码在第一次进行ajax调用时工作正常。在每个循环的第二个循环中,ajax调用完全没有进行。我不知道为什么。我指定asyn为false。这没有帮助。无论如何,这似乎不是问题。每个循环jQuery中的Ajax调用

    $('#'+divid).children('div').children('div').each(function() {

    var url = $(this).find('a');

    var urlname = url.text();

    var urllink = url.attr('href');

    var urlid = $(this).attr('id');

    alert ("from javascript urlid: "+urlid+" urlname: "+urlname+" urllink: "+urllink);

    $.ajax({

    url: "add_url.php",

    type: "POST",

    data: { nodeid: divid, urlid: urlid, urlname: urlname, urllink: urllink },

    cache: false,

    async: false,

    success: function (response) {

    if (response != '')

    {

    alert(response);

    }

    }

    });

    });

    +1

    设置'异步:在FALSE' ajax调用不会产生影响,因为ause你正在循环一个自己的函数,这是由jQuery异步调用遍历所有元素。然后每个执行的函数都会等待ajax调用完成。但他们都会同时运行。 –

    +1

    @Wulf:回调函数不是异步调用的:https://github.com/jquery/jquery/blob/1.6.3/src/core.js#L609-L647 –

    +0

    我已经使用了相同的格式,每个()函数中的ajax,它工作正常。你有没有在Firebug中检查过,只有一个POST请求正在进行,并且肯定有超过1个对象。你有多个提醒吗? –

    展开全文
  • 在外层使用for循环时再去调用Ajax就会导致顺序错乱。for(var i=0;i$.ajax({});}比如6条数据顺序正常是123456,现在执行顺序可能是135246。这样一来,比如你想外层的Ajax得到标题以后再在内层匹配相应内容就会出现...

    在外层使用for循环时再去调用Ajax就会导致顺序错乱。

    for(var i=0;i

    $.ajax({

    });

    }

    比如6条数据顺序正常是123456,现在执行顺序可能是135246。这样一来,比如你想外层的Ajax得到标题以后再在内层匹配相应内容就会出现错乱。一个是标题匹配内容会有问题,另外,展示的顺序也会出错。

    解决方案是使用递归,递归可以帮助你正确的顺序去调用Ajax,在递归每一步的索引也是正确的。

    function getResult(){

    if(currentIndex>=result.recentResult.length){

    return;

    }

    $.ajax({

    type:"POST",

    url: remoteIp + "i/people/checkresult/getTestDetail.do",

    data:{

    itemId:result.recentResult[currentIndex].itemId,

    type:"0",

    hospitalCode:"1",

    instrumentType:"",

    checkDate:result.recentResult[currentIndex].itemId.split('_')[1]

    },

    dataType:"json",

    beforeSend: function (XMLHttpRequest) {XMLHttpRequest.setRequestHeader("Authorization", decodeURIComponent(getCookie("token")).replace(/\n|\r|(\r\n)|(\u0085)|(\u2028)|(\u2029)/g, "").replace(" ", ""));},

    success:function(result1){

    currentIndex++;

    console.log(result.recentResult[t].itemName);

    console.log(result1);

    if(result1.detail.length==0){

    jianyan+="

    "+result.recentResult[t].itemName+"("+result.recentResult[t].itemId.split('_')[1]+")

    暂无相关信息

    ";

    }else{

    jianyan="

    "+result.recentResult[t].itemName+"("+result.recentResult[t].itemId.split('_')[1]+")

    }

    for(var j=0;j

    if(result1.detail[j].refRange==null || result1.detail[j].refRange=="null" || result1.detail[j].refRange==""){

    result1.detail[j].refRange="无";

    }

    if(result1.detail[j].reportValue==null || result1.detail[j].reportValue=="null" || result1.detail[j].reportValue==""){

    result1.detail[j].reportValue="无";

    }

    if(result1.detail[j].unit==null || result1.detail[j].unit=="null" || result1.detail[j].unit==""){

    result1.detail[j].unit="无";

    }

    jianyan+="

    "+result1.detail[j].itemDetail+"
    "+result1.detail[j].reportValue+""+result1.detail[j].unit+"正常值范围:"+result1.detail[j].refRange+"";

    }

    jianyan+="


    ";

    theResult.innerHTML += jianyan;

    jianyan="";

    t++;

    getResult();

    }

    });

    }

    getResult是递归函数,t是变量。这个函数外层还有一个Ajax。result就是外层的结果,result1是内层数据result.recentResult[t].itemName 按照递归以后的标题就是按顺序进行的了。调用的内层Ajax的内容当然也是正确的。

    展开全文
  • 小编典典最好的选择是重组代码以使用异步ajax调用,并在第一个调用完成时启动下一个调用,依此类推。这将允许页面在图像获取之间重新显示。这也将使浏览器有机会喘口气并进行其他家务管理,而不会认为它已被锁定或挂...

    小编典典

    最好的选择是重组代码以使用异步ajax调用,并在第一个调用完成时启动下一个调用,依此类推。这将允许页面在图像获取之间重新显示。

    这也将使浏览器有机会喘口气并进行其他家务管理,而不会认为它已被锁定或挂起。

    而且,使用async: 'false'是一个坏主意。我没有理由理解为什么结构正确的代码无法在此处使用异步ajax调用,并且在获取此数据时不会挂起浏览器。

    您可以使用异步ajax来做到这一点,如下所示:

    function getAllImages(position, maxImages) {

    var imgCount = 0;

    function getNextImage() {

    $.ajax({

    url: urlAJAX + 'scan=' + position,

    method: 'GET',

    async: true,

    success: function(data) {

    if (data.status == "success" && imgCount <= maxImages) {

    ++imgCount;

    renderImageData(data);

    getNextImage();

    }

    }

    });

    }

    getNextImage();

    }

    // no while loop is needed

    // just call getAllImages() and pass it the

    // position and the maxImages you want to retrieve

    getAllImages('front', 20);

    而且,尽管这看起来像递归,但由于ajax调用的异步特性,它并不是真正的递归。

    getNextImage()在下一个调用之前实际上已经完成,因此从技术上讲它不是递归。

    2020-07-26

    展开全文
  • js for循环调用ajax

    千次阅读 2018-01-26 11:01:26
    for循环是单线程的,,ajax是多线程的,当for循环调用ajax请求的时候ajax开启线程时间比较慢,有可能for循环执行结束了ajax还在第一个线程里面,出现这种情况的时候把ajax设置为同步即可,就是async = false 。
    for循环是单线程的,,ajax是多线程的,当for循环调用ajax请求的时候ajax开启线程时间比较慢,有可能for循环执行结束了ajax还在第一个线程里面,出现这种情况的时候把ajax设置为同步即可,就是async = false 。
    展开全文
  • 第2步 - 你能适应从这里连续AJAX请求脚本(它使用jQuery来简化AJAX请求):目前,这个脚本是排队顺序AJAX请求的列表,但你可以使用它来不断检查,通过改变它像这样...var InfiniteAjaxRequest = function (uri) {$....
  • Ajax循环调用问题

    千次阅读 2008-04-07 11:03:00
    关键在于要申请独立的物件。function sendRequest(){ var xmlHttp = createXHR();//这里是关键局部变量 var url=*.*?ts=+new Date().getTime(); alert(url); xmlHttp.open(GET,url,true); 
  • jquery 循环调用ajax发送请求

    千次阅读 2014-09-01 15:20:47
    jquery 循环调用ajax发送请求,如果用 for
  • JavaScript closure inside loops – simple practical example30个我是新来使用AJAX,而我正在编写一个用户脚本,它会处理一个页面上的一些链接,并为每个链接发出AJAX调用.for (var i = 0; i < linkList.length; i...
  • 5 个答案:答案 0 :(得分:1)在函数中执行此操作,并在2 ajax调用成功时再次调用该函数。同时为当前玩家计数设置一个全局变量,现在在循环中。var players = '';var global_current_player = 0;function doAjax...
  • 开发中遇到了一个页面中多处需要异步加载字典表中的常量数据,本希望循环调用ajax,却发现ajax回调的结果混乱了,如果解决这一问题?可采用如下方式解决: 上图中的temp变量就能够保证在本次循环中不变,回调...
  • jsonp 跨域只能掉用一次ajax(无法多次调用或者循环调用) 百度搜索关键字:jsonp 只能调用一次ajax 解决方法 //回调函数设置,给后台执行 window[callbackName] = function(){ /* console.info('callbackName ...
  • 最近做开发有个功能:从数据库读取十条记录,然后for循环这十条记录,用每条记录中的一个属性再去阿里云上去查询图片地址, 先期直接尝试: getLast10EventList=async ()=>{ const { data, isError } = await...
  • 问题似乎是for循环在进行所有Ajax调用之前完成,因此仅将最后一个值添加到HTML。我以为可以确保readystate等于4,但是该解决方案不起作用。我还尝试将完整而不是成功用作Ajax事件。有什么见解吗?这是我的代码。...
  • 解决easyui jQuery JS的for循环调用ajax异步问题
  • 采用递归,直接看代码吧function getData(idArr, i){if (idArr.length) {var id = idArr[0];...console.log(i, 111)$.ajax({type: "GET",url: url,dataType: "jsonp",jsonp:'cb',async: true, //这...
  • 在JS中循环调用AJAX方法

    千次阅读 2012-04-12 10:25:32
    在for循环调用ajax方法 补充页面上的数据,这样写是错误的,他不会每执行一次for循环就执行一次ajax方法,而是等for循环结束才去执行ajax方法,所以导致ajax只被执行一次。然而当修改如下:   for(i=0;i ...
  • 我想调用一个循环内的多个API(例如:$ .each)。我可以使用async:false模式执行此操作,但会使脚本...JQuery中每个循环内的多个异步Ajax调用$.each(lists, function(index, value) {channel = lists[index].channe...
  • 页面中有四个相似的模块,所以以末尾的数字作为区分,然后我想的是把调用后台数据的ajax放在for循环里,每循环一次调用一次ajax 问题: 循环结束后才调用ajax 原因: for 循环是一个单线程的东西,而ajax是多线程的...
  • <... <script type = "text/javascript">... //首次调用 var obj = arr.pop(); if(obj != null){ fun(obj); } } //递归方法 function fun(obj) { //业务逻辑 console.log(obj); //递...
  • 此次在编写代码时遇到for循环中发送ajax请求,遇到的问题是for循环完后,才执行ajax请求一次,通过网上查找资料,解决方法记录如下:  1.方法一: for(var i = 0; i setTimeout((function (i) {  return function ...
  • js循环调用ajax

    2013-03-28 12:23:20
    在for循环调用ajax方法 补充页面上的数据,这样写是错误的,他不会每执行一次for循环就执行一次ajax方法,而是等for循环结束才去执行ajax方法,所以导致ajax只被执行一次。然而当修改如下: for(i=0;i;i++){ ...
  • ajax异步调用

    千次阅读 2009-06-24 17:05:00
    //用户名校验的方法//这个方法使用XMLHTTPRequest对象进行AJAX的异步数据交互var xmlhttp;function verify(){ //1.使用dom的方式获取文本框中的值 //document.getElementBuId("userName")是dom中获取元素节点的一...
  • 是因为执行到ajax的时候去后台开启了一个线程,但是for循环本身就是一个单线程的东西,那么执行到ajax的时候,ajax开启了一个线程,for循环是没有等他的,直到for循环结束的时候,才会把ajax返回的数据拿回来,所以...
  • 主要介绍了关于ajax的定时调用,本例为每5秒调用一次,大家可以根据自己的需求更改
  • 最近在学校工作室团队开发学习平台的问答系统的时候发现,一个ajax方法(具体如下)总是只调用一次,而原来程序通过for循环多次调用该方法且代码没有出错,无论如何刷新都只会调用一次成功,甚至有时会全部失败,这...
  • 项目使用了大量Ajax导致页面加载速度越来越慢,为了寻找原因,写了一些简单的测试代码。循环调用页面后台方法和WebSerivce的方法
  • 循环调用$.ajax()引起的问题解决

    千次阅读 2014-05-28 11:45:21
    考虑到可能是WEBKIT对短时间内多次ajax方法进行了优化,集中到了一起调用。 所以给ajax的参数加上async: false,禁止了异步处理,终于正常了。 转载请注明出处 http://blog.csdn.net/fujie724
  • jQuery ajax重复调用问题

    千次阅读 2013-02-21 22:55:55
    前段时间项目中遇到有的页面调用一次ajax会发送两次请求的问题,发现注释掉构造jQuery Dialog代码后正常,最终找出的原因是构造jQuery Dialog的div中有多余且未闭合的标签所致。
  • 在for循环调用ajax方法 补充页面上的数据,这样写是错误的,他不会每执行一次for循环就执行一次ajax方法,而是等for循环结束才去执行ajax方法,所以导致ajax只被执行一次。然而当修改如下: for(i=0;i<10;i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,991
精华内容 20,796
关键字:

ajax循环调用