PHP 存储字符串 JSON 与 JavaScript 不同

PHP storing stringed JSON diff than JavaScript

本文关键字:JavaScript 不同 JSON 存储 字符串 PHP      更新时间:2023-09-26

通过JavaScript,我能够用JSON.stringify()存储一个cookie,它直接存储一个cookie

,即。
'[{"n":"50fb0d0cc1277d182f000002","q":2},{"n":"50fb0d09c1277d182f000001","q":1},{"n":"50fb0d06c1277d182f000000","q":1}]

我现在通过一个 rest API 传递它,另一个端点接收然后需要在服务器端重新合并到相同的 cookie 键和值中。 我使用 PHP 的 set cookie 来做到这一点。 我能够正确传递变量,但是当使用 JSON 值设置 cookie 时,它会不断变为 urldecode,我将其存储为直字符串,它仍然变为 即:

%5B%7B%22n%22%

3A%2250fb0d9dc1277d1b2f000003%22%2C%22q%22%3A3%7D%5D

有什么想法吗?为什么将其存储为解码值?

我想

通了。 PHP setcookie 默认编码值,需要使用 setrawcookie!

http://php.net/manual/en/function.setrawcookie.php