为什么我用PHP设置的cookie无法用Javascript读取?

时间:2014-10-01 21:08:33

标签: javascript php jquery cookies cors

我试图在我的网站上设置一个来自外部php的cookie。我发现了这个问题,但它仍未解决Set-Cookie on Browser with Ajax Request via CORS

基本上我的php看起来像这样。

<?php

ob_start();

setcookie("cookiename", "cookiedata", time() + 10000000, '/', false, false);

ob_end_flush();

header('Access-Control-Allow-Origin: *');  

?>

标头响应如下:

Access-Control-Allow-Orig...    *
Connection  Keep-Alive
Content-Length  0
Content-Type    text/html
Date    Wed, 01 Oct 2014 20:53:51 GMT
Keep-Alive  timeout=5, max=100
Server  Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
Set-Cookie  cookiename=cookiedata; expires=Sun, 25-Jan-2015 14:40:31 GMT; path=/
X-Powered-By    PHP/5.4.7

我无法在firebug标签中看到cookie(也没有其他浏览器调试器)。当我在console.log()中使用javascript中的所有cookie时,它也不会出现。所以我不知道是否有人可以指导我完成这项工作。感谢。

1 个答案:

答案 0 :(得分:0)

这适用于我并打印出cookie:

<?php

ob_start();

setcookie("cookiename", "cookiedata", time() + 10000000, '/', false, false);

ob_end_flush();

header('Access-Control-Allow-Origin: *');  

?>

All cookies: <p id="cookies"></p>

<script>
document.getElementById('cookies').innerHTML = document.cookie;
</script>

或者您是通过AJAX请求URL并希望阅读父文档中运行的document.cookie中的cookie?