cookie的问题,不解,高手进!!!分在文中的另一个帖子中。120分

天开之想 2010-05-20 07:26:24
http://topic.csdn.net/u/20100520/18/dac97153-7848-4600-8378-3088b9f40f01.html?88179

我使用c#和javascipt混合操作cookie,于是出现问题了,如下

1,我用c#写cookie,cookie的内容写在了c:\document..\administrator\cookies\ 文件夹下
cookie的名字是“ShopCar”,内容是“A~3|B~2|F~2|#”。存储到文件中的主要内容以“1=ShopCar=A~3|B~2|F~2|#”开头,后面是有效期等字符串。用c#读取“ShopCar”的值后,是“A~3|B~2|F~2|#”。这里没有问题
2,我用javascript读取cookie。
做法是document.cookie,得到一个字符串,值是“1=ShopCar=A~3|B~2|F~2|#”。我分开字符串,将其中的“B~2”改成“B~3”,即将document.cookie="1=ShopCar=A~3|B~3|F~2|#"。这里有问题么?请高手指点!!!
3,问题突显了。
我用c#读取cookie中“ShopCar”的值,得到的是“A~3|B~2|F~2|#”
我用javascript再次读取document.cookie。得到的是
“1=ShopCar=A~3|B~3|F~2|#; 1=ShopCar=A~3|B~2|F~2|#”
4,我把1中提及的文件夹下的cookie文件删除了,c#读不到cookie了,但是javascipt读的document.cookie的值是“1=ShopCar=A~3|B~2|F~3|#”

javascipt的cookie放在了哪里?怎么让它的操作结果c#也能读的到???
...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
meible2007 2010-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 falizixun2 的回复:]
看得我头晕,帮顶!
[/Quote]
me too
eduyu 2010-05-21
  • 打赏
  • 举报
回复
http协议里,set-cookie指示符里,设置了cookie的expire过期时间的,便会持久存储。否则,只在内存里,为session cookie。

关键是你读文件是不可能获得所有cookie的,最起码要用比如WinInet这样的Http client直接和服务器沟通,好一点可以用ie的webbrowser control来编程,通过和脚本环境的深度沟通,获取完所有cookie。针对Http only的cookie的获取,见我的文章:
http://iamduyu.cn/?p=660
天开之想 2010-05-21
  • 打赏
  • 举报
回复
高手,请问:如何让javascript的cookie设置成持续性persistent的??

[Quote=引用 5 楼 eduyu 的回复:]

cookie分为persistent,session,http only三种,其中只有persistent cookie会存入文件,第二种只在内存里,脚本环境可见,第三种连脚本环境都不可见。

1,显然,脚本环境看到的cookie会比直接读cookie文件要多。
2,对于persistent的cookie,windows的WinInet接收到以后,会存入cookie文件,但是脚本环境即便改……
[/Quote]
eduyu 2010-05-20
  • 打赏
  • 举报
回复
cookie分为persistent,session,http only三种,其中只有persistent cookie会存入文件,第二种只在内存里,脚本环境可见,第三种连脚本环境都不可见。

1,显然,脚本环境看到的cookie会比直接读cookie文件要多。
2,对于persistent的cookie,windows的WinInet接收到以后,会存入cookie文件,但是脚本环境即便改变了cookie的内容,也不会引发IE去更新cookie文件。
sohighthesky 2010-05-20
  • 打赏
  • 举报
回复
我说的第3点
天开之想 2010-05-20
  • 打赏
  • 举报
回复
不是你说的问题,我说的是c#和Javascript的cookie怎么不是一个??
c#只能读自己存储的
javascript可以读取c#和javascript的,但是写不到c#中去



[Quote=引用 2 楼 sohighthesky 的回复:]
JScript code
存cookie时document.cookie=escape(str);

取cookie时,var s=unescape(document.cookie)
[/Quote]

sohighthesky 2010-05-20
  • 打赏
  • 举报
回复
存cookie时document.cookie=escape(str);

取cookie时,var s=unescape(document.cookie)
kaifadi 2010-05-20
  • 打赏
  • 举报
回复
看得我头晕,帮顶!

87,899

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧