0

現在、php から変数を解析するために javascript を使用する必要がある Web ページがあります。
私は次のようなことをします:

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) ?>);(削除する')だけでOKです。

于 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

あなたは1つの余分な操作です。メッセージを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 に答える