我現在有需要使用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