我有一个textarea,需要的值是用换行符分隔的多个字符串。成功后,仅捕获最后一个stringf。这是我的代码:
var stringf;
var lines = $('#bulk_string').val().split('\n');
for(var i = 0;i < lines.length;i++){
if(lines[i].length > 0){
stringf = lines[i];
$.ajax({
type: "POST",
url: "ajaxuser.php",
data: 'do=submit&info='+stringf,
success: function(data)
{
$('#string_list').append('<li>'+stringf+' '+data</li>');
}
});
}
}
最佳答案
您的for
循环将立即完成几乎所有循环,但是您的AJAX调用将需要一些时间来处理并返回给您。因此,当您的AJAX调用完成时,stringf
值将被设置为循环的最后迭代中为其分配的任何值。
为了解决这个问题,您只需要在stringf
循环中声明for
即可:
for(var i = 0;i < lines.length;i++) {
var stringf;
...
}
关于javascript - jQuery ajax成功后获取字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29165008/