仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1065|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET编程:ASP.NET猎取不到js写的cookie办理办法

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:21:27 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。</p>今晚利用javascript设置一个去路的cookie,以后利用ASP.NET猎取这个cookie值,发明ASP.NET猎取不到JS设置的cookie值,真忧郁中,以下是JS写Cookie的代码:
Code
  1. //写cookiesfunctionsetCookie(name,value){document.cookie=name"="escape(value)";";//设置的cookie封闭扫瞄即生效}//JS设置去路写进到cookiesetCookie("fromUrl",document.referrer);
复制代码
以下是ASP.NET读取cookie代码:
Code
  1. ///<summary>///读取Cookies///</summary>///<paramname="str"></param>///<returns></returns>publicstringGetCookies(stringkey){if(System.Web.HttpContext.Current.Request.Cookies[key]!=null){string_cstr=System.Web.HttpContext.Current.Request.Cookies[key].Value.ToString();Encodingstre=Encoding.GetEncoding("UTF-8");returnSystem.Web.HttpUtility.UrlDecode(_cstr,stre);}else{returnstring.Empty;}}//猎取cookiestringreferer=GetCookies("fromUrl");
复制代码
在这里ASP.NET利用UTF-8编码来解码JS写cookie的值,要否则取到的cookie会有些分歧。
就是以下代码呈现ASP.NET竟然猎取不到js写的cookie,那怎样办呢?别急,上面是办理办法:
从头改一下js代码,以下:
Code[
  1. //写cookiesfunctionsetCookie(name,value){document.cookie=name"="escape(value)";path=/";//设置的cookie封闭扫瞄即生效}
复制代码
加多了一个path=/,就好了。就这么复杂。
这里设置了Cookie的Path属性,必需在客户端和服务器端同时设置Path="/"属性,才干js和ASP.NET对Cookie的操纵才干互相感化!别的一个是编码的成绩,这里JS中的编码为encodeURI对应ASP.NET的Server.URLEncode。
dodo
原文:http://www.xueit.com/html/2009-12-06/21-984180469828.html
本文版权回作者和学IT网共有,接待转载,但未经作者批准必需保存此段声明,而且保存原文链接。不然保存究查功令义务的权力。
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 04:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表