【发布时间】:2021-12-19 09:41:04
【问题描述】:
当我使用 print_r 检查 JSON 编码时,它看起来很好 => {"expiry":1636191448,"auth":true}
然后我尝试将它存储在 cookie 中,
但是当我在浏览器cookie值中看到它时,它变成了这样=> %7B%22expiry%22%3A1636191866%2C%22auth%22%3Atrue%7D
谁能告诉我如何解决它。我不将此用于权限系统,但用于其他内容,例如在 javascript 中读取它,但尝试解析时出错
Uncaught SyntaxError: 位置 0 处 JSON 中的意外标记 % 在 JSON.parse() 处
.
这是我的 php 文件中的代码行
if (Cookie::exists(Config::get('client/cookie_name'))) {
$client = json_decode(Cookie::get(Config::get('client/cookie_name')), true);
$expiry = $client['expiry'];
} else {
$client = array (
'expiry' => time() + Config::get('client/cookie_expiry')
);
}
$client['auth'] = true;
$client = json_encode($client);
Cookie::update(Config::get('client/cookie_name'), $client, $expiry);
【问题讨论】:
-
请贴出相关代码。您究竟如何将 JSON 数据存储为 cookie?第二个字符串是 url 编码格式的 JSON 字符串,顺便说一句。
标签: javascript php json cookies