0

我目前有一个网页需要使用 javascript 来解析 php 中的变量。
我做这样的事情:

data.notices = JSON.parse('<?php echo json_encode($notices) ?>');

但是,当 $notices 变量中有单引号或双引号时,javascript 控制台会返回错误。

如何正确获取变量?

4

4 回答 4

1

$a='b'将转换为"b"(注意引号)json_encode

只需写JSON.parse(<?php echo json_encode($notices) ?>);(删除')就可以了。

于 2013-03-21T09:44:53.500 回答
1

此代码不返回错误

<?
$notices = array('sad'=>'asd as" asd', 'asd"sdf '=>'asdasd" \' asd ads');
?>
<script>
data = new Object();
data.notices = JSON.parse('<?php echo addslashes(json_encode($notices)) ?>');
</script>
于 2013-03-21T09:41:07.080 回答
0

我发现这是由于我在插入数据库之前没有转义字符引起的问题。

于 2013-03-21T09:57:51.123 回答
0

你是一个额外的操作。如果你想将消息作为 javascript 变量,你可以直接得到

data.notices = <?php echo json_encode($notices) ?>;
// and access like this
// data.notices[0] or data.notices['alert']
于 2013-03-21T10:01:36.797 回答