javascript - setcookie 无法存储 json
问题描述
我需要将 json 字符串保存到 cookie 中。但字符串始终是 url 编码的。
cookie 是通过 javascript 读取的,并且必须作为非 url 编码的 json 字符串接收,我无法编辑任何 js 部分。
$cs_f11 = [
'f11_a1_p117'=>'some data',
'f11_a2_p118'=>'some data',
'f11_a3_p119'=>'some data'
];
setcookie('cs_f11', json_encode($cs_f11), time()+86400, '/');
如果我使用 setrawcookie() 我会收到如下错误:
Cookie 值不能包含以下任何 ',; \t\r\n\013\014' 在 […]
javascript 也将 json 写入 cookie,但所有逗号都很好。
有没有办法将 json 字符串写入非 PHP 编码的 cookie?
解决方案
按照建议,在 header() 的帮助下让它工作。
header ('Set-Cookie: cs_f1=' . json_encode($cs_f1) . '; expires=0; path=/;', false);
推荐阅读
- php - 从 Slim Framework V4 中的类方法处理程序从一个 POST 路由重定向到另一个 POST 路由
- php - 在 laravel 中处理控制器和视图之间日期的有效方法
- python - 可以使用 python 和 csv 在 SQL 之外验证的列的校验和算法
- javascript - React Native:无法更改文本的颜色
零件 - python - 检查 pygame.key.get_pressed() 的结果时出现“元组对象不可调用”
- javascript - 为什么即使我已经安装了 Gatsby 命令也无法工作?
- wordpress - Wordpress 通过 REST/JSON/Auth 连接到 SmartSheet
- javascript - 打字稿不尊重 Lib
- javascript - 如何使用另一个按钮禁用 React Native 中的按钮?
- amazon-web-services - 可以从一个 API Gateway 阶段调用多个 AWS Lambda 别名吗?