我再一次发布了一些我从未处理过的内容,或者没有通过谷歌搜索找到答案。
我有一个网络应用,我想打开“日志记录”部分。
我想要一个空的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>";
错误:数组到字符串转换
答案 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("'", ''', implode(', ', $response)) . "');</script>";
如果它更复杂(多维数组),您需要进行一些进一步处理才能获得您想要在页面上显示的值。