javascript - 将 PHP 数据作为 cookie 返回给前端

标签 javascript php cookies

<分区>

我的网络应用程序将数据作为 JSON 字符串从 PHP 发送到 javascript。

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

所以我有两个问题,一个,如果用户经常禁用 cookie,或者使用 cookie 作为我的数据保存方法是否可以......是否有关于 cookie 禁用行为的研究?我用谷歌搜索但找不到任何最新数据。

其次,是否有另一种方法可以将数据从 PHP(我使用的是 laravel)发送到 javascript 而不必将其写到文件中? (我不能向服务器发出另一个 ajax 请求然后加载数据,因为它会终止用户交互,数据必须与第一个请求一起返回)

谢谢

最佳答案

首先几乎没有人禁用 cookie。如果您禁用 cookie,您访问的网站中有一半将无法使用。

如果你想在不写入文件的情况下“将数据传递给 javascript”(通常你永远不会写入文件以将数据传递给 javascript)你可以简单地这样做:

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

通过这种方式,您无需发出额外的 AJAX 请求。
如果你使用的是 Laravel 的 Blade ,那么:

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

正如评论中指出的那样,如果您传递的是 json,则只需删除引号:

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

关于javascript - 将 PHP 数据作为 cookie 返回给前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127486/

相关文章:

javascript - 如何禁用 html 链接以调用 JS 函数?

javascript - respond_to 不会重定向到新的 url

php - 根据 laravel 中的相同类别制作 'Related To' 部分

php - pg_escape_bytea 和撇号

php - 如何在 PHP 中运行存储在 .text 文件中的一系列 SQL 语句?

php - 如何在 Laravel Lumen 8 中设置响应 cookie

javascript - 为什么我的浏览器强制将 script 标签放在 body 标签内?

javascript - Jquery:通过检查 URL 将 css 类添加到特定的 html 元素

php - 如何使用 vuex 和 cookies 而不是使用 localStorage 使 vue.js 登录/注册

python - Django 正在为带有冒号的 cookie 添加引号