我有一个有趣的问题:
我得到这样的json数据:
{"answer0":"IMG_0793.JPG not allowed file size","answer1":"sajty-mira.jpg uploaded","answer2":"\u0433
\u0432\u0441.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>');
}
}
显示每个上传状态。 所以不能制作resp.answer0,resp.answer1,resp.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>');
";
}
?>
请帮助解决问题!
答案 0 :(得分:0)
你不能以这种方式使用append()
(只是追加一个字符串):
$('#response').append(answ).css('color', 'black').html('<br>');
内部追加应该有一个有效的html标记:
$('#response').append('<div>' + answ + '</div>').css('color', 'black').html('<br>');
答案 1 :(得分:0)
您需要使用
解析json响应var response = $.parseJSON(resp);
比你可以使用响应变量。
答案 2 :(得分:0)
您可以使用eval()函数
来完成此操作如下所示:
resp = {"answer0":"IMG_0793.JPG not allowed file size","answer1":"sajty-mira.jpg uploaded","answer2":"\u0433\u0432\u0441.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