无法在javascript中访问PHP数组,初始化为数组的javascript对象在chrome开发工具中最终为空
Unable to access PHP array in javascript, javascript object initialized to array ends up empty in chrome developer tools
我正试图从PHP数组中获取一个JSON,这样我就可以将JSON覆盖到谷歌图表地理图上。所以我试图通过在test.php文件中使用这个简单的代码来实现这一点
<?php
include("conn.php");
?>
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<script type="text/javascript">
document.onload = function (){
var jsonObj = <?php echo json_encode($rowarr, JSON_FORCE_OBJECT); ?>;
var jsonString = JSON.stringify(jsonObj, null, ''n');
console.log(jsonString);
};
</script>
</body>
</html>
conn.php文件返回一个类似的数组
{"Auckland":37616,"Wellington":35357,"Christchurch":29818}
但在chrome开发工具中,我看到这段代码显示为
document.onload = function (){
var jsonObj = ;
// Chrome error here -> Uncaught SyntaxError: Unexpected token ;
var jsonString = JSON.stringify(jsonObj, null, ''n');
jsonObj变量为空,而其中应该有内容。
在CDT控制台上,我得到
未捕获的语法错误:意外的标记;
在这个test.php文件的第11行
Chrome有时无法正确显示可处理数组和XML,但它们确实存在。我的建议是:在其他浏览器上得到实际结果之前,不要在chrome上测试你的代码。
我昨天遇到过这种情况。
<script type="text/javascript">
document.onload = function (){
var jsonObj = <?php echo json_encode($rowarr); ?>;
var jsonString = JSON.parse(jsonObj);
console.log(jsonString);
};
</script>
在我看来,$rowarr并不包含您认为它包含的内容。也许试着先把它记录下来。。。。
console.log("$rowarr");
您的思路是正确的。
首先,您可以去掉随附的文档.onload,因为它毫无意义。
其次,这是修改后的代码:
var jsonStringified = <?php echo json_encode($rowarr); ?>,
jsonObject = JSON.parse(jsonStringified);
console.log(jsonObject);
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript