Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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
Javascript PHP使用数组主动写入DIV_Javascript_Php_Jquery - Fatal编程技术网

Javascript PHP使用数组主动写入DIV

Javascript PHP使用数组主动写入DIV,javascript,php,jquery,Javascript,Php,Jquery,我再一次发布了一些我从未处理过的东西,或者在谷歌搜索中没有找到答案 我有一个web应用程序,我想打开一个“日志”部分 我希望一个空DIV中写入数据(它们是数组CURL请求和json响应) 我已经找到了如何将Jquery写入div,但这不适用于数组。有谁能给我一个更好的建议吗 代码: 函数更新进度(进度){ $(“#进度”)。追加(“+progress+”); } 在PHP中: echo "<script language='javascript'>parent.updatePro

我再一次发布了一些我从未处理过的东西,或者在谷歌搜索中没有找到答案

我有一个web应用程序,我想打开一个“日志”部分

我希望一个空DIV中写入数据(它们是数组CURL请求和json响应)

我已经找到了如何将Jquery写入div,但这不适用于数组。有谁能给我一个更好的建议吗

代码:


函数更新进度(进度){
$(“#进度”)。追加(“+progress+”);
}
在PHP中:

echo "<script language='javascript'>parent.updateProgress('$response');</script>";
echo“parent.updateProgress('$response');”;
错误:数组到字符串的转换

使用
.html()
写入到div

<script>
function updateProgress(progress) {
    $("#progress").html("<div class='progress'>" + progress + "</div>");
}
</script>

函数更新进度(进度){
$(“#进度”).html(“+progress+”);
}
PHP:

echo”“;
echo“$(文档).ready(函数(){”;
echo“updateProgress(“.$response.”);
回声“});”;
回声“;

调用此函数的方式
parent.updateProgress(“$response”)
是错误的,您不需要从调用类似这样的语句中删除父级

echo "<script language='javascript'>updateProgress('".$response."');</script>";
//-----------remove parent from here^

问题出在PHP代码中。变量
$response
是一个数组,您试图将其转换为(强制转换为)字符串,因此出现错误“array to string conversion”

基本上,您正在这样做:

echo (string)array('value1', 'value2'); // Notice: Array to string conversion
如果这只是一个基本数组(如上面的示例所示),那么您可以通过使用。例如:

echo "<script language='javascript'>parent.updateProgress('" . str_replace("'", '&#39;', implode(', ', $response)) . "');</script>";
echo“parent.updateProgress('”.str_replace(“'”,“';”,introde(',',$response))。”;

如果它更复杂(多维数组),则需要进行进一步的处理,以仅获取要在页面上显示的值。

请提供一个您尝试过的示例或设置JSFIDLE的示例,以便我们可以帮助您。jQuery能够解析数组和显示数据,并且可以很好地与JSON配合使用。使用AJAX检索数据,然后解析数据并附加到div。您能给我们看一些代码吗?必须交换计算机才能添加代码,上面添加了。因此,我猜
$response
PHP变量是一个数组?你能在上面做一个var_转储来显示什么类型的数组吗?我刚刚为你创建了一个解析JSON的示例-使用AJAX调用PHP并将数组返回JavaScript进行解析。我得到[object object]作为响应,而不是数组。因此,我想保留JSON格式,它将包含多维数组:(为这一点提供建议?使用json_encode,而不是内爆,这会将它从数组更改为可以使用的json字符串。此外,删除所有单引号,因为json对象应该直接传递到函数中。不过,您必须在JS端进行某种处理,才能将其转换为可以写入HTML的字符串,否则你会得到“对象”当JSON对象被转换为字符串时。啊,请阅读您的其他注释-在进行JSON_编码时保留单引号和str_替换,因为您希望在页面上显示原始JSON。如何将JSON解析回html?我通过将其写回object来让对象工作,但我确实不懂Javascript,所以我正在尝试学习rn on the fly:(删除引号,然后在JavaScript函数中执行类似于
progress.loginAccounts[0]。name
。或者这就是从var_转储中看到的。如果不起作用,则显示返回的json字符串。
$response =  implode(", ", $response);
echo "<script language='javascript'>updateProgress('".$response."');</script>";
echo (string)array('value1', 'value2'); // Notice: Array to string conversion
echo "<script language='javascript'>parent.updateProgress('" . str_replace("'", '&#39;', implode(', ', $response)) . "');</script>";