Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在jquery请求中检索json数据成功_Php_Jquery_Json_Types - Fatal编程技术网

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

Php 在jquery请求中检索json数据成功,php,jquery,json,types,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).file

我有一个有趣的问题:

我得到的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>');
}
}
我可以用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('
');
Inside append应具有有效的html标记:

$('#response').append('<div>' + answ + '</div>').css('color', 'black').html('<br>');
$('#response').append(''+answ+'').css('color','black').html('
');
您需要使用

var response = $.parseJSON(resp);

然后您可以使用响应变量。

您可以使用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

我认为您错误地混合了服务器端和客户端逻辑。像这样?var响应=$.parseJSON(resp);对于(i=0;i');}不工作var answer=response.answer+i$('#response').append(answer).css('color','black').append('
');只需在解析JSON之前和之后尝试
console.log(response)
,它们不允许我投票!需要15个声望!您应该避免使用eval来处理来自外部的东西,因为它会打开XSSvulnerabilities@alexis,同意您的看法,但这里的输入不是来自外部,而是结果json。eval可以根据您打算使用它的情况来使用。但可以避免使用任何已发布值等进行处理
var response = $.parseJSON(resp);
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