Jquery ajax in loop bug -


i don't know , bug or not. see examples :

for(i=0;i<2;i++){   $.ajax({     url : 'process.php',     type: "post",     data : "abcd",     success : function(data){       alert(i);     }   }) } 

or

for(i=0;i<2;i++){   $.post("process.php",{dataw:"abcd"},function(data){     alert(i);   }) } 

why output 2 ?

i won't keep value, it'll loop through , stay @ last value (2).

you can wrap value in function instead.

for (i = 0; < 2; i++) {     $.ajax({         url: 'process.php',         type: "post",         data: "abcd",         success: function(value) {             return function(data) {                 alert(value);             }         }(i)     }) } 

same thing post:

for (i = 0; < 2; i++) {     $.post("process.php", {             dataw: "abcd"         },         function(value) {             return function(data) {                 alert(value);             }         }(i)     ); } 

Comments