Я пытаюсь определить наилучший подход для отправки массива PHP в виде строки JSON или объекта JSON для внешнего интерфейса JavaScript с помощью шаблона лезвия Laravel 5.6.
Похоже, когда ясделайте следующее в файле шаблона Blade, он никогда не преобразует его в строку.
@php $vueModel = [ ...] @endPhp
<script>
sessionStorage.setItem('vueModel', {!! json_encode($vueModel) !!} );
...
</script>
Показывается как [Object Object] в инструментах разработчика Chrome.
Так что после этого, если я попытаюсь сделать следующее, это не будет работать (будут ошибки):
let model = JSON.parse(sessionStorage.getItem('vueModel'));
Но если я сделаю следующий трюк, то он выплюнет строку.
Обратите внимание на одиночную кавычку, заключенную в '{!!... !!} '
<script>
sessionStorage.setItem('vueModel', '{!! json_encode($vueModel) !!}' );
...
Однако у этого есть своя собственная проблема, потому что теперь я получаю строку с кавычками, закодированными обратной косой чертой, а затем мне придется это исправить.
Итак, как правильно отправить массив PHP в виде объекта JSON или строки JSON без какой-либо кодировки в Frontend JavaScript с использованием языка шаблонов Blade laravel 5.6?Каков рекомендуемый подход в этой ситуации?