我有一个有趣的问题:
我得到这样的JSON数据:
{"answer0":"IMG_0793.JPG not allowed file size","answer1":"sajty-mira.jpg uploaded","answer2":"u0433
u0432u0441.txt unsupported File type"}
使用jquery $ .ajax
在这里我有
success: function(resp)
{
var numFiles = $("#file").get(0).files.length;
for(i=0; i < numFiles; i++){
var answ = "resp.answer"+i;
$('#response').append(answ).css('color', 'black').html('<br>');
}
}
显示每个上传状态。因此无法制作desp.answer0,desp.answer1,desp.answer2 ...
var answ = "resp.answer"+i; not working!
我可以用php
做到这一点<?php
for ($i = 0; $i < $numFiles; $i++){
echo"
$('#response').append(resp.answer".$i.").css('color', 'black').append('<br>');
";
}
?>
请帮助解决问题!
您不能以这种方式使用 append()
(只是附加字符串):
$('#response').append(answ).css('color', 'black').html('<br>');
内部附录应具有有效的HTML标签:
$('#response').append('<div>' + answ + '</div>').css('color', 'black').html('<br>');
您需要使用
解析JSON响应var response = $.parseJSON(resp);
您可以使用响应变量。
您可以使用eval()函数
来做到这一点喜欢下面:
resp = {"answer0":"IMG_0793.JPG not allowed file size","answer1":"sajty-mira.jpg uploaded","answer2":"u0433u0432u0441.txt unsupported File type"}
var i = 1;
var answ = eval("resp.answer"+i);
console.log('answ:'+answ); // This will print answ:sajty-mira.jpg uploaded