Javascript 异步$.post在for循环中
可能重复:Javascript 异步$.post在for循环中,javascript,jquery,post,Javascript,Jquery,Post,可能重复: 我在尝试访问$.post函数中的变量时遇到问题 函数中变量a的值始终相同:7。但在它之外,它会随着我的需要而增加 为什么会这样?如何为$.post函数执行循环 for(var a=0; a<7; a++){ console.log(a); /* increasing value */ $.post("http://"+ document.domain + "/posts/user/xxxxx", function(departments){
我在尝试访问
$.post
函数中的变量时遇到问题
函数中变量a
的值始终相同:7。但在它之外,它会随着我的需要而增加
为什么会这样?如何为$.post
函数执行循环
for(var a=0; a<7; a++){
console.log(a); /* increasing value */
$.post("http://"+ document.domain + "/posts/user/xxxxx",
function(departments){
console.log(a); /*value of 7*/
});
}
for(var a=0;a为每个迭代指定它自己的范围,或者使用$.ajax
和上下文
选项
for(var a=0; a<7; a++){
(function(a){
console.log(a); /* increasing value */
$.post("http://"+ document.domain + "/posts/user/xxxxx",
function(departments){
console.log(a); /*value of 7*/
});
})(a);
}
为每个迭代指定它自己的范围,或者使用$.ajax
和上下文
选项
for(var a=0; a<7; a++){
(function(a){
console.log(a); /* increasing value */
$.post("http://"+ document.domain + "/posts/user/xxxxx",
function(departments){
console.log(a); /*value of 7*/
});
})(a);
}
ref:(应该有一个接近的选项,只针对这个不断重复出现的问题,没有冒犯!)哦,是的,只要连续发出7个Ajax请求。你的服务器就可以了。:P
@Sime,就我所知,是从数据库获取7个不同数据数组的唯一方法…@Steve等等,为什么不让服务器脚本从数据库获取所有数据,然后在一个响应中返回它。是的,我是个天才!:P
@Steve:我看不出有什么不同在这七个请求之间,您是否忘记发送a
?无论如何,您可能会重新构造API,以便它可以在一个requestref中返回7个数组:(应该有一个关闭选项,仅针对这个经常重复出现的问题,没有冒犯!)哦,是的,只要连续发出7个Ajax请求。你的服务器就可以了。:P
@Sime,就我所知,是从数据库获取7个不同数据数组的唯一方法…@Steve等等,为什么不让服务器脚本从数据库获取所有数据,然后在一个响应中返回它。是的,我是个天才!:P
@Steve:我看不出有什么不同在这七个请求之间,您是否忘记发送a
?无论如何,您可能会重新构造API,以便它可以在一个请求中返回7个数组