[英]Printing json data in javascript function replace quotes by “"”
從幾周以來,我一直在使用Laravel Framework。
我有一個奇怪的問題,我想將PHP 2D數組轉換為JavaScript對象,因此在控制器json_encode()中使用了類似以下內容:
$arr['ping'] = array_values($arr['ping']);
$arr['doc'] = array_values($arr['doc']);
$data = json_encode($arr, JSON_HEX_QUOT);
然后,在我的視圖文件中:
<div class="card-content">
{{ $data }}
</div>
<div id="chartPingListExpand" class="ct-chart"></div>
<script type="text/javascript">
$(document).ready(function() {
app.initChartPingListExpand({{ html_entity_decode($data) }}, {{ $maxping }});
});
</script>
這是東西:我的{{ $data }}
正確顯示了我的json字符串
{"ping":[4,30],"doc":["2018-03-23 09:06:53","2018-03-23 01:04:23"]}
但是Javascript不喜歡它:
未捕獲的SyntaxError:無效或意外的令牌
在這條線
app.initChartPingListExpand({{ html_entity_decode($data) }}, {{ $maxping }});
我認為這是因為HTML會將quotes
翻譯為" ;
我嘗試了很多方法來告訴html不要翻譯那些引號,但是它不起作用,有人有什么主意嗎?
也許我可以將數據傳遞給Javascript函數或其他任何方式?
您的$data
已經是一個javascript對象,您無需對其進行解碼
您可以嘗試是否將var obj = {{ $data }}; console.log(JSON.stringify(obj))
var obj = {{ $data }}; console.log(JSON.stringify(obj))
請注意,Blade將盡力保護您,並轉義所有不安全的字符。 采用
{!! $data !!}
避免那個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.