将 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){
}
})
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)