在jquery请求中检索json数据成功

时间:2015-05-01 04:50:10

标签: php jquery json types

我有一个有趣的问题:

我得到这样的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>');
";
}
?>

请帮助解决问题!

3 个答案:

答案 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