我真的不知道这笔交易是什么。我在php中设置了我的cookie:
$locale = 'en_US';
setcookie('locale', $locale);
我在Javascript中访问它:
console.log(document.cookie);
奇怪的是,这并不显示cookie。但是,如果我打开浏览器控制台并键入document.cookie
,它会显示所有Cookie。
如果我刷新页面,就会显示cookie。
出于某种原因,Cookie在设置时不会被发送到浏览器。
Cookie是否存储在响应的最后?如果是,我该如何制作,以便将它们存储在开头?
答案 0 :(得分:1)
下面这段代码在Chrome中适用于我,显然是在同一个请求中
$locale = 'unique_number_to_differntiate_from_yours';
setcookie('different_cookie_name', $locale);
echo "<script> console.log(document.cookie); </script>";
exit ;
正如Davin H指出的那样,在调用setcookie之前,你需要确保没有输出,甚至不需要空格。原因是使用标头设置了cookie,并且在输出开始后无法设置标头。