Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将PHP数据作为cookie返回到前端_Javascript_Php_Cookies - Fatal编程技术网

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

Javascript 将PHP数据作为cookie返回到前端,javascript,php,cookies,Javascript,Php,Cookies,我的web应用程序将数据作为JSON字符串从PHP发送到javascript 为了避免在呈现文件中以文本形式写入字符串,我想使用的体系结构是使用PHP在Cookie上设置数据,然后使用JS读取。 到目前为止,它工作得很好,但我在想,如果用户禁用了cookies,那么它就不会工作了 所以我有两个问题,一个是,如果用户确实禁用了很多cookie,或者使用cookie作为我的数据保存方法是可以的。。是否有关于cookie禁用行为的研究?我在谷歌上搜索过,但找不到任何最新数据 第二,是否有另一种方法可以

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

为了避免在呈现文件中以文本形式写入字符串,我想使用的体系结构是使用PHP在Cookie上设置数据,然后使用JS读取。 到目前为止,它工作得很好,但我在想,如果用户禁用了cookies,那么它就不会工作了

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

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


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

如果您想在不写入文件的情况下“将数据传递给javascript”(通常您永远不会写入文件以将数据传递给javascript),您只需执行以下操作:

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

var mydata=“”;#当然要注意避开单引号
这样,您就不会发出额外的AJAX请求。
如果您使用的是Laravel的刀片,则:

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

var mydata='{!!$mydata!!}';#当然要注意避开单引号
正如注释中所指出的,如果要传递json,只需删除引号:

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

var mydata={!!$mydata!!};

您可以使用隐藏的
数据来存储信息。为什么不尝试将您的JSON对象存储在LocalStorage中?我曾想过使用它,但它看起来太脏了,特别是当我返回大量JSON对象时。。职业选手就是这样做的吗@Sablefroste@RokoC.Buljan也许是因为不是每个客户端都在使用HTML5,我喜欢Roko的想法,但我担心兼容性,在它是JSON(=纯javascript)之前从未使用过LocalStoreage!你为什么加引号?只需使用
var mydata=即使它没有写在页面上,使用javascript或隐藏的div,它仍然以文本的形式输出到html文件,这难道不被认为是一种“黑客”解决方案吗?(请考虑我加载了相对较大的JSON对象40-60K+),我可能错了,但在我的原始程序员头脑中,加载cookie看起来更优雅。@ RAPDAKO我也认为Cookie解决方案更为苛刻。