我现在有需要使用JavaScript来从PHP解析变量的网页。
我做这样的事情:
PHP JavaScript的JSON解析转义字符
data.notices = JSON.parse('<?php echo json_encode($notices) ?>');
然而,当有在$通知变量单或双引号,JavaScript控制台回传失误。
我怎样才能获得正确的变量?
我现在有需要使用JavaScript来从PHP解析变量的网页。
我做这样的事情:
PHP JavaScript的JSON解析转义字符
data.notices = JSON.parse('<?php echo json_encode($notices) ?>');
然而,当有在$通知变量单或双引号,JavaScript控制台回传失误。
我怎样才能获得正确的变量?
这个代码不`吨返回错误
<?
$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>
$a='b'
将被转换为"b"
(注意引号)由json_encode
只写JSON.parse(<?php echo json_encode($notices) ?>);
(删除'
)都会好的。
我发现它是由这样的事实,我没有插入到数据库之前逃脱字符的问题。
你是一个额外的操作。如果你想要的消息为JavaScript变量,你可以直接得到像
data.notices = <?php echo json_encode($notices) ?>;
// and access like this
// data.notices[0] or data.notices['alert']
[{“content”:“\\'\\'hello”}]这个返回错误。我想当我在数据库中写单引号时,我在mssql服务器中发现它存储为\'。当我从数据库中获得变量到$ notices时,它会再次变成“\\'\\'hello”。 – 2013-03-21 09:52:13
@ user985874我没有错误时使用'$告示=阵列( '内容'=> “\\ '\\' 你好”);' – 2013-03-21 09:56:56