我在将多维关联数组从 php 传递到 Javascript 时遇到了一些麻烦。我用 JSON 转换它,使用:
_SESSION = '<?php print json_encode($_SESSION) ?>';
我也尝试过
_SESSION = '<?php print json_encode($_SESSION, JSON_PRETTY_PRINT) ?>';
_SESSION = $.parseJSON('<?php print json_encode($_SESSION) ?>');
它们都给我错误,例如:Uncaught SyntaxError: Unexpected token ILLEGAL。
但是,第一个不会给我任何错误,我可以在 Javascript 中访问它。然后输出:
{"items":{"221163":{"CodeComplete":null,"Project":"Coding","Team":"Mail","TimeSpent":25","Children":[]}}, {"221165":{CodeComplete":null,"Project":"Coding","Team":"Batman","TimeSpent":"40","Children":[]}}
我相信这就像一个字符串,因为 _SESSION[0] 输出“{”。但是,我希望它是一个数组或一个对象。数组在 php 中看起来像这样:
_SESSION( "items" => array(
221163 =>
array( CodeComplete => null
Project => "Coding"
Team => "Mail"
Timespent => "25"
Children => array(
)
)
221165 =>
array( CodeComplete => null
Project => "Coding"
Team => "Stones"
Timespent => "40"
Children => array(
)
)
)
)
我希望能够以与 php 中相同的方式访问此数组(不是垃圾),但是 _SESSION["items"]
或 _SESSION.items
未定义,因为 _SESSION
是一个字符串...
对我做错了什么有什么想法吗?
最佳答案
正如 @CD001 在他的评论中建议的那样,我从传输中删除了“”,使其变为
_SESSION = <?php print json_encode($_SESSION) ?>;
现在一切正常,谢谢!
关于javascript - JSON 将字符串而不是数组或对象从 PHP 传递到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040869/