|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。</p>今晚利用javascript设置一个去路的cookie,以后利用ASP.NET猎取这个cookie值,发明ASP.NET猎取不到JS设置的cookie值,真忧郁中,以下是JS写Cookie的代码:
Code- //写cookiesfunctionsetCookie(name,value){document.cookie=name"="escape(value)";";//设置的cookie封闭扫瞄即生效}//JS设置去路写进到cookiesetCookie("fromUrl",document.referrer);
复制代码 以下是ASP.NET读取cookie代码:
Code- ///<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[- //写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的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了? |
|