为了账号安全,请及时绑定邮箱和手机立即绑定

请问在读取Cookie时总是空的,为什么?

请问在读取Cookie时总是空的,为什么?

读取Cookie时总是空的,为什么
查看完整描述

5 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

最直接的原因就是第一句 HttpCookie cookie = new HttpCookie("Login"); 失败了

没有成功创建 cookie 实例。所以下面的 cookie 都是 null。

至于为什么失败了,你可以调试看看。

查看完整回答
反对 回复 2019-07-07
?
SMILET

TA贡献1796条经验 获得超4个赞

原因估计出在这
Guid CartGUID = Guid.NewGuid();或者Guid CartGUID = Guid.NewGuid().ToString();
CartGUID估计没有获得值,你可以换个值看看是否为空。

查看完整回答
反对 回复 2019-07-07
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

更改cookie后不能再读取cookie问题补充:

用下面代码清除cookie后就不能读取cookie了
<%
dim cook
for each cook in request.Cookies
if not(request.cookies(cook).haskeys) then
'if instr(cook,session("username")) then
response.Cookies(cook)=empty
end if
next
Server.Execute("ShowCart.asp")
%>
错误类型:
Microsoft VBScript 运行时错误 (0x800A0009)
下标越界: '[number: 0]'
/ShowCart.asp, 第 172 行 PID=split(request.Cookies(cook),",")(0)

一个空的内容不能去split吗,不是得到是空值吗,因为客户可能不要全部商品了,要重新购, 何况
if instr(cook,session("username")) then
不是已经判定不是空了吗
我写进cookie格式 :username+shopID=shopID+buyNum

我好像想到什么了,哦,这个cook是shopID+buyNum ,我想一下。。

清掉了当然不能读了阿
一个空的内容去split当然会出现下标越界
另外为什么要清空?

那就判断是不是为空拉
为空就不处理了嘛
然后给个产品的值为0就行了
split不能对一个empty的东西进行分割的
你可以对一个空字符串分割

查看完整回答
反对 回复 2019-07-07
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

Cookie有个属性叫httponly,如果某个Cookie的这个属性设置为true的话,那么客户端的JS是无法做操作的。一般像SessionID这样的属性都会加这种保护。

查看完整回答
反对 回复 2019-07-07
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

  1. 检查php设置cookie的域名和js读取的域名是同一个;

  2. 确定php setcookie成功了与否;

  3. js读取cookie函数靠谱么;

  4. 如果以上都是  用浏览器看一下当前页的cookie是否有 可以用 google chrome谷歌浏览器F12 或者 firefox火狐浏览器firebug 查看


查看完整回答
反对 回复 2019-07-07
  • 5 回答
  • 0 关注
  • 1149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信