为啥js setcookiee后在另一个页面得不到值呢?急!

一个静态页面将一个值写入Cookie,转到另一个页面如何读不出来了 - JavaScript当前位置:& &&&一个静态页面将一个值写入Cookie,转到另一个页面如一个静态页面将一个值写入Cookie,转到另一个页面如何读不出来了&&网友分享于:&&浏览:153次一个静态页面将一个值写入Cookie,转到另一个页面怎么读不出来了?第一个静态页面中是这样写的: &
var selTarget = document.getElementById(&roleSelect&); if(selTarget.selectedIndex & -1){
var role=selTarget.
setCookie(&userRole&,role);
location.href=&../introduction/introduction_page.html&; }else{
alert(&Please select a role!&); }Cookie的读写函数是这样的: &
function setCookie(cookieName,cookieValue){ var theCookie = cookieName + &=& + cookieV
var date = new Date(&June 3, 2020&); var cookieDate = date.toGMTString(); theCookie += &;expires=& + cookieD
document.cookie = theC &
function getCookie(name){ var cookies = document.cookie.split(&;&); for(var i = 0; i & cookies. i++){
var cookieCrumbs = cookies[i].split(&=&);
var cookieName = cookieCrumbs[0];
var cookieValue = cookieCrumbs[1];
if (cookieName == name){
return cookieV
};到了introduction_page.html页面,再使用getCookie取值就去不出来了,怎么回事?------解决方案--------------------跨域了么 - - 跨域的Cookie不能这么访问
------解决方案--------------------
楼主 需要设置 cookie path参考下/Darren_code/archive//Cookie.html博文的中间 ----- cookie 路径概念封装了一个cookieCme.cookie.jsJScript code
;(function(w, d){
var cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name和value有值, 那么设置 cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
date = options.
expires = '; expires=' + date.toUTCString();
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else { // 只有name值 那么获取 cookie
var cookieValue =
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i & cookies. i++) {
var cookie = trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
return cookieV
function trim(v){
return v.replace(/^\s|\s$/, '');
w.Cme ? '' : w.Cme = {};
w.Cme.cookie =
})(window, document);
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有两个页面读出来的cookie怎么不一样了??+++(已解决)+++ - 技术问答_百度知道discuz 里不能直接用setcookie设置cookie的变量值了吗_百度知道trackbacks-0
首先编写以下简单的代码:
复制代码 代码如下:
setcookie('a','value');&&& print $_COOKIE['a'];
第一次访问时,报错:
报错的原因是$_COOKIE['a']的值不存在。第二次访问:
问:为什么第一次访问的时候,会没有cookie呢??我不是先设置,再获取吗??
答:使用firefox的firebug查看&网络&:
可以看到,浏览器(客户端)向服务器发出一次请求,发出请求的时候,在请求头信息中带上了各种参数,告诉服务器,我要接收什么样的文本(Accept)、什么编码格式(Accept-Encoding)、什么语言(Accept-Language)等等,当然,还把Cookie也传到了服务器(Cookie)。
服务器端:
第一步:setcookie('a','value')
因为cookie是设置在客户端的,setcookie函数自己并不能设置cookie,它只能通过头信息的方式告诉浏览器说:兄弟,我要设置一个cookie,键为a,值为value,你在你那里帮我设置一下。你也可以理解为:&来,朕今天高兴,赏你一个小甜饼&。
第二步:$_COOKIE['a']$_COOKIE['a']
很简单,执行的操作就是在浏览器带过来的cookie字符串中搜索键为a的cookie,并返回它的值。
很明显,这个&键为a&的cookie不可能找到,因为客户端访问服务器的时候,这个cookie压根就不存在,而前面第一步设置cookie的头信息,也还没有返回给客户端(php要从上到下把语句执行完才会返回给客户端)
第三步:服务器返回信息
其中,返回的头信息中带有&Set-Cookie
a=value&,浏览器收到这个头信息,把cookie存放到电脑的某个文件中,对于不同浏览器cookie的存放位置貌似不同,这个不在本文的范围。
刷新浏览器,再次访问服务器的时候,同样,也会把很多头信息带给服务器,只不过这次带过去的cookie中,就多了一个a=value了。所心$_COOKIE['a']自然就能从cookie字符串中找到这个键为a的cookie的值。
阅读(...) 评论()setCookie 设值问题 - 开源中国社区
当前访客身份:游客 [
当前位置:
波波,发现个奇怪的问题,setCookie(&sessionId&, token, 160 * 60);这个方法在调用时IE下cookie设置不进去,如果将时间设置为-1则可以。这个问题应该不是jfinal的问题,可能和浏览器cookie机制有关。
补充:要以服务形式启动tomcat。窗口启动时,该问题不能复现。
共有1个答案
<span class="a_vote_num" id="a_vote_num_
后面那个时间应该为过期时间吧,亲,你这个设置,按道理cookie早就过期了
更多开发者职位上
有什么技术问题吗?
缪斯的情人的其它问题

我要回帖

更多关于 js setcookie 的文章

 

随机推荐