繁体   English   中英

从php发送json到javascript

[英]sending json from php to javascript

我有一个包含json的php变量,我使用json_encode将数组转换为json。

如果我打印我的var,我有:

["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中

setDayArray('<?php echo $dayArray ?>');

setDayArray = function(dayArray){
    console.log(dayArray);
}

带树枝

calendar.setDayArray({{ dayArray }});

这可能是由于symfony渲染造成的,我发现的唯一方法是使用json标头进行ajax调用

要在PHP中输出JSON,请输出通过json_encode传递PHP结构的结果。

文档中的示例:

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

输出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

在您更新的问题中,您已经使用过

$dayArray = json_encode($dayArray)
setDayArray('<?php $dayArray ?>'); // Wrong

除去引号,并包含echo除非它以某种其他方式神奇地获取了输出:

$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 }});

使用raw来允许html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM