PHP主动使用数组写入DIV

时间:2014-02-14 17:52:31

标签: javascript php jquery

我再一次发布了一些我从未处理过的内容,或者没有通过谷歌搜索找到答案。

我有一个网络应用,我想打开“日志记录”部分。

我想要一个空的DIV写入数据(它们是数组CURL请求和json响应)。

我已经找到了如何将Jquery写入div,但这不适用于数组。有没有人对我有更好的建议?

代码:

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


<div id='progress'></div>
PHP中的

echo "<script language='javascript'>parent.updateProgress('$response');</script>";

错误:数组到字符串转换

3 个答案:

答案 0 :(得分:0)

使用.html()写入div

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

PHP:

echo "<script>";
echo "$(document).ready(function() {";
echo "updateProgress(" . $response. ");";
echo "});";
echo "</script>";

答案 1 :(得分:0)

调用此函数parent.updateProgress('$response');的方法是错误的,您无需从调用语句中移除parent

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

现在将成功调用此函数updateProgress

如果$response是一个数组,并且您希望将其显示为字符串,那么您可以使用它。

$response =  implode(", ", $response);
echo "<script language='javascript'>updateProgress('".$response."');</script>";

答案 2 :(得分:0)

问题出在您的PHP代码中。变量$response是一个数组,你试图将它转换为(转换为)一个字符串,因此错误,“数组转换为字符串”。

基本上,你这样做:

echo (string)array('value1', 'value2'); // Notice: Array to string conversion

如果这只是一个基本数组(如上例所示),您可以使用implode轻松解决此问题。例如:

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

如果它更复杂(多维数组),您需要进行一些进一步处理才能获得您想要在页面上显示的值。