php - 使用 PHP 创建 cookie,但从 javascript 读取时遇到困难

标签 php javascript cookies

我使用以下命令在 PHP 中设置了 cookie:

setcookie("id", 100, time()+100000, "/AP", "www.mydomain.com", 0, true);

当我查看浏览器中存储的 cookie 时,它​​看起来像这样:

Name:    id
Content: 100
Domain:  .www.mydomain.com
Path:    /AP

注意 .在域中

当我在 javascript 中设置 cookie 时,我得到相同的结果,除了:

Name:    id
Content: 100
Domain:  www.mydomain.com
Path:    /AP

域不同。为什么我的 PHP cookie 会放一个“.”在 www.mydomain.com 前面,而 ​​javascript 则没有。

以下是我用来创建 cookie 的 JavaScript 代码:

            function SetCookie(cookieName,cookieValue,nDays) {
             var today = new Date();
             var expire = new Date();
             if (nDays==null || nDays==0) nDays=1;
             expire.setTime(today.getTime() + 3600000*24*nDays);
             document.cookie = cookieName+"="+escape(cookieValue)
                             + ";expires="+expire.toGMTString();
        }

有什么想法吗?

更新:

当我尝试使用 JavaScript 中的以下函数读取此内容时:

            function ReadCookie(cookieName) {
             var theCookie=""+document.cookie;
             var ind=theCookie.indexOf(cookieName);
             if (ind==-1 || cookieName=="") return "";
             var ind1=theCookie.indexOf(';',ind);
             if (ind1==-1) ind1=theCookie.length;
             return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
        }

我无法使用 ReadCookie 函数(上面)从包含以下内容的 cookie 中获取值:

Domain: .www.mydomain.com

但是 cookie 包含:

Domain: www.mydomain.com 

工作得很好。

最佳答案

这样以后遇到同样问题的人就可以轻松找到答案。这是我以答复形式发表的评论:

您将 cookie 设置为 httponly ,这意味着 javascript 无法与其交互。删除 setcookie 的最后一个参数或将其设置为 false,您应该能够使用 javascript 访问它。

setcookie("id", 100, time()+100000, "/AP", "www.mydomain.com", false, false);

很高兴我能提供帮助!

关于php - 使用 PHP 创建 cookie,但从 javascript 读取时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3393428/

相关文章:

php - 需要 SSL PHP api Codeigniter

javascript - JSON 响应不是来自 php 的对象

javascript - componentWillReceiveProps 包含多个 if

javascript - 如何更新和删除cookie?

node.js - 浏览器上基于 token 的身份验证和 session /本地存储

php - 我的 JSON 没有被 PHP 解码

php - Python - PHP 共享 MySQL 服务器连接信息?

javascript - 函数属性不是 Polymer 中的函数

javascript - 图库播放完毕后如何关闭Fancybox?

ruby - 如何使用( ruby ) Rack 中间件组件设置 cookie?