【发布时间】:2014-02-11 20:47:18
【问题描述】:
如上所述,我有一个 PHP 脚本和一个 JavaScript,我有一些对象在服务器端读取文本文件,然后将数据传递给 JavaScript。
这是我的完整代码:
map.html:http://www.pastebin.com/b45mbvgp 和 index.php:http://www.pastebin.com/zibdquzu
真正重要的部分:
var x = <?php echo json_encode($streetsObject); ?>;
var obj = eval("("x")");
我也试过
var obj = JSON.parse(x);
X 变量确实设置为传递对象的大小,527(经过测试)但是当我尝试使用 eval 或 JSON 解析函数时根本不起作用。我的 html 代码中是否存在某种错误,这会干扰我对其他库的调用?如果是这样,那会很奇怪,因为 kinetic.js 工作得很好。我一直在谷歌搜索 JSON 的示例,但我还没有看到解析传递对象的示例,这都是本地对象的示例:(
(如果我删除 eval / json 代码行,代码可以正常工作)
【问题讨论】:
-
你试过console.log(x)吗?
-
x是已经一个对象。无需解析它。 JSON 字符串是 JavaScript 语法的子集,因此它被作为对象读取。 -
理解基本的 JS 字符串语法(甚至任何语言的基本字符串语法)会告诉你
"("x")"不可能是有效的...... -
@RagenDazs console.log(x) 或只是 console.log 不显示任何内容,警报似乎显示基本消息,例如“hi”等。不知道为什么日志不起作用尽管。哦,我现在明白了,对不起,我通过 codeacadamy 学习了 javascript 等,没有意识到我必须使用 ctrl shift j
-
@oorosco 你是什么意思它不起作用?你检查过控制台吗? (以 Chrome 中的 Ctrl+Shift+J 为例)
标签: javascript php html json