将PHP数据作为cookie返回到前端


Return PHP data to the front-end as a cookie

我的web应用程序将数据以JSON字符串的形式从PHP发送到javascript。

为了避免将字符串作为文本写入渲染文件中,我想到的架构是使用PHP在cookie上设置数据,然后使用JS读取。到目前为止,它工作得很好,但我在想,如果可能用户禁用cookie,那么它将无法工作。

所以我有两个问题,一,如果用户禁用cookie太多,或者如果可以使用cookie作为我的数据保存方法。有没有关于cookie禁用行为的研究?我用谷歌搜索了一下,但找不到任何最近的数据。

第二,有没有另一种方式发送数据从PHP(我使用laravel)到javascript,而不必在文件上写出来?(我不能向服务器发出另一个ajax请求,然后加载数据,因为这会破坏用户交互,数据必须与第一个请求一起返回)

谢谢

首先,几乎没有人禁用cookie。如果你禁用cookies,你访问的网站中有一半将不再工作。

如果你想"将数据传递给javascript"而不写文件(通常你永远不会写文件来传递数据给javascript),你可以简单地这样做:

<script>
   var mydata = '<?=$mydata?>';  # take care of escaping single quote of course
</script>

这样你就不需要额外的AJAX请求了。如果你使用的是Laravel的剑,那么:

<script>
   var mydata = '{!! $mydata !!}';  # take care of escaping single quote of course
</script>

正如在注释中指出的,如果你正在传递json,那么只需删除引号:

<script>
   var mydata = {!! $mydata !!}; 
</script>