将json从php发送到javascript
我有一个包含json的php变量,我使用json_encode将数组转换为json 如果我打印我的var,我有:将json从php发送到javascript,php,javascript,json,Php,Javascript,Json,我有一个包含json的php变量,我使用json_encode将数组转换为json 如果我打印我的var,我有: ["L","M","M","J","V","S","D"] 但如果我在js中使用var,我有: ["L","M","M","J","V","S","D
["L","M","M","J","V","S","D"]
但如果我在js中使用var,我有:
["L","M","M","J","V","S","D"]
我无法解析,因为我有一个错误
Uncaught SyntaxError: Unexpected token &
有没有办法在我的js中获取json
谢谢
编辑:
在php中
$dayArray = array('L','M','M','J','V','S','D');
$dayArray = json_encode($dayArray)
在js中
这可能是由于symfony呈现,我发现的唯一方法是使用json头执行ajax调用,以在PHP中输出json,输出传递PHP结构的结果 文档中的示例:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
执行此操作时,浏览器将看到如下内容:
setDayArray(["L","M","M","J","V","S","D"]); // Right
而不是
setDayArray('["L","M","M","J","V","S","D"]'); // Wrong
我找到了解决办法
calendar.setDayArray({{ dayArray | raw }});
使用raw来允许html为什么要使用htmlspecialchars/htmlspecialchars?演示如何在JavaScript中使用var。@巴德沃尔夫:这是一个非常糟糕的主意。是的,不要使用
htmlentities
。不,不要直接输出。我用代码setDayArray(“”)
编辑我的文章。这就是你的问题所在,你必须echo
out。我也有同样的问题setDayArray([“L”、“M”、“M”、“J”、“V”、“s”、“D”);
$dayArray = json_encode($dayArray)
setDayArray('<?php $dayArray ?>'); // Wrong
$dayArray = json_encode($dayArray)
setDayArray(<?php echo $dayArray ?>); // Right
setDayArray(["L","M","M","J","V","S","D"]); // Right
setDayArray('["L","M","M","J","V","S","D"]'); // Wrong
calendar.setDayArray({{ dayArray | raw }});