`
bingya
  • 浏览: 57921 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

ASP.NET获取不到js写的cookie解决方法

 
阅读更多

今晚使用javascript设置一个来路的cookie,之后使用ASP.NET获取这个cookie值,发现ASP.NET获取不到JS设置的cookie值,真郁闷中,以下是JS写Cookie的代码:

 Code
//写cookies function setCookie(name,value) { document.cookie = name "=" escape (value) ";"; //设置的cookie关闭浏览即失效 } //JS设置来路写入到cookie setCookie("fromUrl",document.referrer);

以下是ASP.NET读取cookie代码:

 Code
/// <summary> /// 读取Cookies /// </summary> /// <param name="str"></param> /// <returns></returns> public string GetCookies(string key) { if (System.Web.HttpContext.Current.Request.Cookies[key] != null) { string _cstr = System.Web.HttpContext.Current.Request.Cookies[key].Value.ToString(); Encoding stre = Encoding.GetEncoding("UTF-8"); return System.Web.HttpUtility.UrlDecode(_cstr, stre); } else { return string.Empty; } } //获取cookie string referer = GetCookies("fromUrl");

在这里ASP.NET使用UTF-8编码来解码JS写cookie的值,要不然取到的cookie会有些不同。

就是以下代码出现ASP.NET居然获取不到js写的cookie,那怎么办呢?别急,下面是解决方法:

重新改一下js代码,如下:

 Code [
//写cookies function setCookie(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网共有,欢迎转载,但未经作者同意必须保留此段声明,并且保留原文链接。否则保留追究法律责任的权利。

分享到:
评论

相关推荐

    html 登录ajax请求继承.net Form验证和JS解析cookie

    客户端接收到响应后,JavaScript解析Cookie并根据需要更新页面状态,如显示欢迎信息或改变导航菜单。 通过这个DemoLogin项目,开发者可以学习到如何结合HTML、Ajax、.NET Form验证和Cookie来实现一个完整的登录系统...

    asp.net获取客户端的MAC地址

     } }}在ASP.NET中获取客户端的MAC地址,通常是因为在某些场景下需要更精确地识别用户,例如防止重复投票或者限制特定设备的访问。然而,需要注意的是,由于浏览器的安全限制,直接通过HTTP协议是无法直接获取到...

    asp.net 集合flash使用

    根据提供的文件标题、描述、标签以及部分内容,我们可以深入探讨 ASP.NET 中如何与 Flash 进行交互,特别是关于 Cookie 的管理和使用。以下是对该主题的详细分析: ### ASP.NET 中 Cookie 的基本概念 #### 1. 创建...

    ASP.NET中Cookie对象的使用及防止重复投票代码

    在ASP.NET开发中,Cookie对象是一个非常重要的工具,它用于在客户端存储小量的数据,例如用户设置、会话标识等。本教程将深入探讨如何在ASP.NET中使用Cookie对象,并结合实际示例介绍如何利用Cookie来防止重复投票,...

    获取ASP.NET下载状态

    在ASP.NET框架中,开发Web应用程序时,我们经常会遇到需要跟踪和管理用户下载状态的需求。标题"获取ASP.NET下载状态"直指一个挑战:在HTTP协议的无状态特性下,服务器端如何得知客户端的下载进度或者状态。由于HTTP...

    学习asp.net方法和步骤

    对于初学者来说,掌握ASP.NET的学习方法和步骤至关重要,以下是一份详细的ASP.NET学习指南。 1. **基础知识准备**: 在开始ASP.NET的学习之前,你需要对以下基础知识有一定的了解: - **HTML/CSS/JavaScript**:...

    asp.net贪吃蛇

    ASP.NET提供了多种方式来处理客户端与服务器之间的交互,例如AJAX(异步JavaScript和XML)技术,使得游戏能够在不刷新整个页面的情况下进行实时更新。 此外,游戏的数据存储可能涉及ASP.NET的Session或Cookie管理,...

    asp.net80套经典网页设计模版

    对于经验丰富的开发者,这些模板同样具有参考价值,可以从中学习到网页设计的流行趋势、用户体验的优化方法以及如何更好地集成ASP.NET技术。 ASP.NET框架提供了许多特性,例如: 1. **页面生命周期管理**:ASP.NET...

    ASP.NET获取不到JS设置cookies的解决方法

    在js方法中添加”path= 过期时间”就可以解决这个问题。 例如://写cookies 代码如下: function setCookie(name,value) { [removed] = name “=” escape (value) “;path=/”; //设置的cookie关闭浏览即失效 } 加多...

    解析6种ASP.NET跨页面传值的方法

    ### 解析6种ASP.NET跨页面传值的方法 在ASP.NET开发中,跨页面传值是经常遇到的一个问题。为了确保用户体验良好且程序逻辑清晰,开发者需要掌握多种跨页面传值的技术。本文将详细介绍六种常用的ASP.NET跨页面传值...

    ASP.NET的 Session 详解

    ASP.NET 的 Session 详解 Session 模型简介 Session 是什么呢?简单来说就是服务器给客户端的一个编号。当一台 WWW 服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。 当每个用户首次与这台 WWW ...

    详解ASP.NET与ASP.NET Core用户验证Cookie并存解决方案

    HttpOnly设置为true可以防止通过JavaScript访问Cookie,从而增加安全性。其次是处理Cookie的兼容性问题,例如*** FormsAuthentication Cookie的加密算法可能与*** Core不兼容,需要仔细处理和适配。最后,生成*** ...

    ASP.NET复习材料

    ASP.NET 复习材料 一、类和结构 ASP.NET 中的类和结构是两个不同的概念。类是引用类型,结构是值类型。这意味着类是通过引用来访问的,而结构是通过值来访问的。在 C# 中,类是通过关键字 "class" 声明的,而结构...

    asp.net 页面防止重复提交

    本文将深入探讨如何在ASP.NET环境中解决这个问题。 首先,理解问题的本质:当用户点击提交按钮两次或者由于网络延迟,浏览器可能会发送两次请求到服务器,导致相同的数据被处理两次。这在诸如金融交易、用户注册等...

    asp.net完整论坛

    这个"asp.net完整论坛"项目是学习和实践ASP.NET技术的一个好实例,涵盖了从基础的页面生命周期到高级的分层架构、数据库操作和权限管理等多个方面。开发者可以通过研究源码,深入了解ASP.NET在实际项目中的应用。

    ASP.net Blog源码

    ASP.NET提供了HttpPostedFileBase类来处理文件上传,通过这个类,我们可以获取到客户端上传的文件,并将其存储到服务器的指定位置。同时,还需要处理图片的显示,这通常涉及到对图片进行缩放、裁剪等操作,可以使用...

    ASP.NET的简易BBS论坛

    9. AJAX技术:为了提升用户体验,BBS论坛可能会用到部分异步更新技术,如ASP.NET AJAX,它可以在不刷新整个页面的情况下更新部分内容。 10. CSS和JavaScript:为了实现界面美化和交互效果,开发者需要掌握CSS(层叠...

    ASP.NET基础练习

    本练习主要针对ASP.NET的基础知识,包括但不限于页面生命周期、控件事件处理、数据绑定、状态管理、以及MVC模式等核心概念。 1. **页面生命周期**: ASP.NET页面生命周期包括初始化、加载、验证、呈现和卸载等阶段...

    asp.net天气预报

    7. **数据绑定**:ASP.NET提供了多种数据绑定技术,如控件数据绑定和模板数据绑定,用于将后台获取到的天气数据绑定到前台UI元素,动态显示天气信息。 8. **状态管理**:如果使用session或cookie来保存用户特定的...

    ASP.NET 网上购物系统

    9. **测试与调试**:开发过程中,单元测试、集成测试和性能测试都是必不可少的,ASP.NET支持MSTest、NUnit等测试框架,帮助开发者确保代码质量和系统稳定性。 综上所述,ASP.NET网上购物系统涵盖了Web开发的多个...

Global site tag (gtag.js) - Google Analytics