【发布时间】:2018-11-10 20:57:57
【问题描述】:
我正在努力寻找将 PHP 数组作为 JSON 发送的最佳方法 使用 Laravel 5.6 Blade 前端 JavaScript 的字符串或 JSON 对象 模板。
似乎当我在 Blade 模板文件中执行以下操作时,它从未将其转换为字符串。
@php $vueModel = [ ...] @endPhp
<script>
sessionStorage.setItem('vueModel', {!! json_encode($vueModel) !!} );
...
</script>
它在 Chrome 开发工具中显示为 [Object Object]。
所以在此之后如果我尝试执行以下操作将无法正常工作(会有错误):
let model = JSON.parse(sessionStorage.getItem('vueModel'));
但是如果我执行以下技巧,那么它会吐出字符串。
请注意 '{!! 周围的单引号... !!}'
<script>
sessionStorage.setItem('vueModel', '{!! json_encode($vueModel) !!}' );
...
但是,这有其自身的问题,因为现在我得到了带有反斜杠编码引号的字符串,然后我将不得不修复它。
那么将 PHP 数组作为 JSON 对象发送的干净方法是什么? 或使用 laravel 5.6 Blade 模板语言对前端 JavaScript 没有任何编码的 JSON 字符串?什么是 在这种情况下推荐的方法?
【问题讨论】:
标签: php json laravel laravel-5 laravel-5.6