成功后,Jquery ajax获取字符串

时间:2015-03-20 11:02:54

标签: javascript jquery ajax

我有一个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>');
            }
        });
    }   
}

1 个答案:

答案 0 :(得分:2)

您的for循环将立即完成循环,但您的AJAX调用将需要一段时间来处理并返回给您。因此,当您的AJAX调用完成时,stringf值将被设置为在循环的最后一次迭代中分配给它的任何值。

要解决此问题,您只需在 stringf循环中声明for

for(var i = 0;i < lines.length;i++) { 
    var stringf;
    ...
}