如何在一个循环执行ajax方法里面嵌套的ajax方法

如何在一个循环执行ajax方法里面嵌套的ajax方法,第1张

这种问题 可以这样做,

将 ajax 请求封装 成一个函数。

循环中的参数 传入函数 执行

这样可以 避免 每次执行的ajax 可能都是循环的最后一次

每次循环的时候 由于是异步处理,(同步请求不会有这样的问题)

当ajax 准备执行的时候 ,去读取循环中的参数,

而这个时候 循环的值已经不最开始的那个了 ,

,我们将这个值保存在参数中, 而这样,

ajax 去请求的时候 读取的是参数值, 而不是循环的值

function a(){

$.ajax({

success:function(data){

for(循环data){

//这样可以避免 循环执行完了 ajax 还没执行的问题

fn_ajax(data[i])

}

},

})

function fn_ajax(data){

$.ajax({

success:function(){

}

});

}

}

ajax是做请求的,一般使用他的异步请求,至于你所说的动态添加dom元素,可以在回调中使用

$.ajax({

    url: 'xxxx',

    data: 'xxx',

    success: function(){

        //你可以在这里使用js代码,动态改变你的DOM元素

    }

})

谢谢

一般ajax提交防止浏览器缓存在请求的url后面加一个时间戳,

例如:

$.ajax({

type : "POST",

url : 'demo.action?s='+new Date().getTime(),

data:{"hotelId":hotelId},

async:false,

cache :false,

dataType : "json",

success : function(json){

//获取后台json格式 dataType : 可选 xml,html.script,json.text ,_default

//data:{"hotelId":hotelId}, hotelId 是提交的参数

//type : "POST", 可以get 可以post

demo()

}

})

function demo()

{

$.ajax({

type : "POST",

url :'demo.action',

data:{"hotelId":hotelId},

async:false,

cache :false,

dataType : "json",

success : function(json){

}

})

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11611375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存