我有一个java脚本函数,它获取一个表示数字的字符串,循环并在jquery函数中返回相同的值(最大值):
function auto_tag_posts(data) {
//data is 999
var p_nr=0;
for (p_nr=0; p_nr<data; p_nr++) {
$.post("./myphp.php", {command: "c"}, function(post_data){
//p_nr is 999!!! WHY?
alert(p_nr);
});
}
有什么问题?
问题在于,在一瞬间发出了999个请求,答案即将到来,但jquery“for”立即完成。
答案 0 :(得分:3)
这是因为关闭。请改用c0dez
for (p_nr=0; p_nr<data; p_nr++) {
(function(p_nr) {}
$.post("./myphp.php", {command: "c"}, function(post_data){
//p_nr is 999!!! WHY?
alert(p_nr);
});
)(p_nr);
}