CookieHelper JS封装Cookie 存取方法
微信的一些页面会去获取授权,然后在回调到页面,但是这样的话通过url传递的参数有可能丢失掉,我采用存储cookie的方式来传值
建一个CookieHelper.js文件
function CookieHelper() {
}
//删除cookie
CookieHelper.prototype.deleteCookie = function (name) {
var date = new Date();
date.setTime(date.getTime() - 10000);
document.cookie = name + "=v; expires=" + date.toGMTString() + ";path=/";
}
//设置cookie
CookieHelper.prototype.setCookie = function (name, value) {
//设置之前先删除
this.deleteCookie(name);
//获取当前时间
var date = new Date();
var expiresDays = 10;
//将date设置为10天以后的时间
date.setTime(date.getTime() + expiresDays * 24 * 3600 * 1000);
//cookie设置为10天后过期
document.cookie = name + "=" + value + "; expires=" + date.toGMTString() + ";path=/";
document.cookie
}
//获取某一cookie key=value
CookieHelper.prototype.getCookie = function (name) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if (arr[0] == name) {
return arr[1];
}
}
return "";
}
//获取cookie 类型 key=id=123&name=qwe&pwd=uio
CookieHelper.prototype.getCookies = function (name) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if (arr[0] == name) {
return arrCookie[i].substring(arrCookie[i].indexOf("=") + 1)
}
}
return "";
}
//获取所有cookie
CookieHelper.prototype.getAllCookie = function (name) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
if (arrcookie.length > 0) {
return arrCookie;
} else {
return "";
}
}
页面调用<script type="text/javascript" src="CookieHelper"></script>
在页面的js中调用上面封装的方法
//
function booking(id, num) {
if (parseInt(num == 0)) {
return false;
} else {
var startDate = document.getElementById("startDate").value;
var endDate = document.getElementById("endDate").value;
//声明封装方法存储Cookie
var cookiehelp = new CookieHelper();
var name="Bookingvalue";
var value = "UnitID=" + id + "&startDate=" + startDate + "&endDate=" + endDate;
//调用存储Cookie方法
cookiehelp.setCookie(name, value); var startDate = document.getElementById("startDate").value;
var endDate = document.getElementById("endDate").value;
window.location.href = "Booking.aspx?UnitID=" + id + "&startDate=" + startDate + "&endDate=" + endDate;
}
}
这样就完成了存储cookie。
这里存储的cookie是多参数的,调用时C#采用下图方式:
HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies["Bookingvalue"];
if (Cookie != null)
{
unitID = Convert.ToInt32(Cookie["UnitID"]);
}
if (unitID > )
{ if (!string.IsNullOrEmpty(HttpContext.Current.Request.Cookies["Bookingvalue"]["startDate"]))
{
if (Convert.ToDateTime(HttpContext.Current.Request.Cookies["Bookingvalue"]["startDate"]) >= DateTime.Now)
{
startDate = HttpContext.Current.Request.Cookies["Bookingvalue"]["startDate"];
}
else
{ }
}
if (!string.IsNullOrEmpty(HttpContext.Current.Request.Cookies["Bookingvalue"]["endDate"]))
{
if (Convert.ToDateTime(HttpContext.Current.Request.Cookies["Bookingvalue"]["startDate"]) >= Convert.ToDateTime(HttpContext.Current.Request.Cookies["Bookingvalue"]["endDate"]))
{
endDate = Convert.ToDateTime(startDate).AddDays().ToShortDateString();
}
else
{
endDate = HttpContext.Current.Request.Cookies["Bookingvalue"]["endDate"];
}
}
}
很久很久之后,erp中在后台存储了个cookie,然后我激动的使用js去删除这个cookie,删除失败,我很困惑,究竟是方法不行还是人不行,最后检查时发现下图:

这个后台存的是session我居然天真的以为后台的方法名字叫什么就是什么功能,坑啊。

CookieHelper JS封装Cookie 存取方法的更多相关文章
- JS封装cookie操作函数实例(设置、读取、删除)
本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...
- 原生js封装cookie获取、设置及删除
使用cookie(key,value,options) 参数key,value,options(可选) function cookie(key,value,options){ if(typeof va ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- JS封装Cookie
/* @黑眼诗人 <www.farwish.com> */<script> //设置cookie: cookie名,cookie值,天数 function setCookie( ...
- js封装Cookie操作
var CookieUtil = { // 设置cookie set : function (name, value, expires, domain, path, secure) { var coo ...
- 原生JS封装Ajax插件(同域&&jsonp跨域)
抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...
- js获取cookie
js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...
- JS操作cookie以及本地存储(sessionStorage 和 localStorage )
JS操作cookie cookie的操作用两种方式 1.substring //创建cookie function setCookie(name,value,expires,path,domain,s ...
- jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。
jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...
随机推荐
- 32位Windows7上8G内存使用感受+xp 32位下使用8G内存 (转)
32位Windows7上8G内存使用感受+xp 32位下使用8G内存 博客分类: Windows XPWindowsIE企业应用软件测试 我推荐做开发的朋友:赶快加入8G的行列吧....呵呵..超爽 ...
- hdu 1078 FatMouse and Cheese (dfs+记忆化搜索)
pid=1078">FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/ ...
- Swift2.0 中的String(三):类型转换
本系列第三篇,String相关的类型转换.其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一 ...
- iOS开发——UI篇Swift篇&玩转UItableView(二)高级功能
UItableView高级功能 class UITableViewControllerAF: UIViewController, UITableViewDataSource, UITableViewD ...
- Cocos2d-X内存管理研究<一>
http://hi.baidu.com/tzkt623/item/651ca7d7a0aff6e055347f67 半夜没事干,研究内核,作为我cocos2d-x的第一篇教程.cocos ...
- Linux清除磁盘上的RAID信息
我的笔记本是DELL的Inspiron 14z,原装存储器是由32G的固态硬盘和512G的机器硬盘组成.后来我自己又给它加了一个256G的固态硬盘,装并装上了CentOS,打算把500G的机械硬盘当资 ...
- EntityFramework优缺点(转)
Entity Framework 是微软推荐出.NET平台ORM开发组件, 现在已放源代码. 以下我们来讨论一下优缺点和一些问题, 以下简称EF. 有兴趣可查询官网的Entity Framewo ...
- 【阿里云产品公测】离线归档OAS,再也不用担心备份空间了
[阿里云产品公测]离线归档OAS,再也不用担心备份空间了 作者:阿里云用户莫须有3i 1 起步 1.1 初识OAS 啥是OAS,请看官方说明: 引用: 开放归档服务(Open Archive Se ...
- iphone开发之用lipo合并模拟器库和真机库,发布一个通用的静态库
转载自:http://blog.csdn.net/arthurchenjs/article/details/6044616 lipo lipo –create Release-iphoneos/lib ...
- css初接触
一.简介:CSS 即 级联样式表 . 它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. css是能够真正做到网页表现与内容分离的一种 ...