function getUsernameInCookie() {
var strcookie = document.cookie;
var arrcookie = strcookie.split("; ");
for ( var i = 0; i < arrcookie.length; i++) {
var arr = arrcookie[i].split("=");
if (arr[0] == 'userInfo' && arr[1] != undefined) {
if (arr[1].split(escape(","))[0] == 'GoodBye') {
return '';
} else {
return arr[1].split(escape(","))[0];
}
}
}
return '';
}
function delCookie() {
var date = new Date();
date.setTime(date.getTime() - 2 * 3600 * 1000 * 24);
document.cookie = 'userInfo=GoodBye; expire=' + date.toGMTString();
}
function addCookie(name, value, expireHours) {
var cookieString = name + "=" + escape(value);
if (expireHours > 0) {
var date = new Date();
date.setTime(date.getTime + expireHours * 3600 * 1000 * 24);
cookieString = cookieString + "; expire=" + date.toGMTString();
}
document.cookie = cookieString;
}
function logout() {
delCookie();
$('#UserInfo').html("Welcome guest ");
window.location.href = "user/logout.action";
changeText();
}
用户登陆后,通过js向浏览器中写入一个会话cookie,再登出时无论在ie8,还是chrome中都没问题。
因登陆的jsp中有这样的一段
$(document).ready(function() {
document.onkeydown = keyDown;
if (getUsernameInCookie() != '') {
$('#UserInfo').html(
"Welcome " + getUsernameInCookie()
+ " |");
changeText();
}
;
});
再加之用户注册激活后为增加用户体验,所以自动登陆,只能在后台(Action)中向客户端传入cookie:
Cookie cookie = new Cookie("userInfo", DBusername);
cookie.setPath("/");
response.addCookie(cookie);
如这样,在chrome中将cookie中的时间-1可以,但在ie8中用户名还是没办法清掉,就是这句:
date.setTime(date.getTime() - 2 * 3600 * 1000 * 24);
document.cookie = 'userInfo=; expire=' + date.toGMTString();
所以在最上面的js中加入了‘Goodbye’当标识符用。哎~~~
谁有好的方法欢迎拍砖!
分享到:
相关推荐
完美解决从服务器端读取文件传入前端
asp.net中后台c#数组与前台js数组交互上述代码即为我解决问题所用代码,均已试验通过。
事情: 从java后台返回List类型数据,用于界面显示。但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式传到界面...
如下所示: {idCardAddress:123,idCardNumber:345,eRegAddress:456} 后台传过来的数据是这样的,前台无法通过el表达式直接获取,通过 ...以上这篇使用js实现将后台传入的json数据放在前台显示就是小编分享
真实项目中常用到的 自己写的工具类,包括读资源文件(传入相应的key就可取出相应的value),读取COOKIE,存储COOKIE,把Bean序列化后存储到COOKIE中,返序列化从COOKIEk中取出Bean
Php表单数据传入数据库与mysql数据库数据发送客户端技术.docx
python2.7版本 调用登录接口获取cookie并 将cookie获取传入到其他接口案例。。。 python交流群:711607680
为了兼容ie8,lz选择用Raphael绘制的流程图,支持点击事件,url跳转。只需传入json数据及divID。附件为实际的例子。
主要介绍了JavaScript函数参数使用带参数名的方式赋值传入的方法,实例分析了javascript函数传递参数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
无Cookie的防刷二级高亮菜单,已封装成JS函数,函数使用条件:在使用本函数时,要注意一级菜单和二级菜单的结构层设置,你需要给这个一级菜单设置一个ID,如“menu”,这个在js中调用。对于左侧二级菜单,注意除了...
在asp.net中RadioButtonList 单选按钮组选中的值传入后台,并把所有选中的值相加,然后一起将数据写入数据库中
本文将演示如何通过自己手动编写代码来调用WCF服务。首先使用了ChannelFactory来创建通道,并调用与通道关联的服务协定。随后对代码进一步封装,选用从ClientBase类派生,可以更有效地简化代码,而且在处理有服务器...
IE8下出现的问题是直接将selectedValue post发送到后台,后台接收时会报错,这是因为IE8下selectedValue当成了数组,后台无法识别
C语言实现openssl的https客户端post方法使用,可以传入json字符串的格式,测试的例子,可以使用
服务器从客户端接受传入的网络连接,从这些连接接收传入的流量,并通过发送回接收到的消息的哈希码,以接收到的消息的顺序响应客户端。 每个客户端都连接并保持与服务器的活动连接,发送包含大小为8KB R次的随机...
至于后台是C#没啥好看的,就是数据库插入。 后续更新成base64数据保存到数据库,直接base64转换成图片保存在服务器,数据库存储相关信息,下载或者查看的时候直接调用相对路径的文件即可。 毕竟base64的数据保存到...
工程从数据库中获取相关信息,通过列表显示所有数据,实现了checkbox的全选,并将选中部分的数据传入后台,进行操作。
主要介绍了C#中SQL参数传入空值报错解决方案,需要的朋友可以参考下
TcpClient(客户端) 和 TcpServer(服务端)代码示例 TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。 可使用 TcpClient 或 Socket 来连接 TcpListener。 可使用 IPEndPoint、本地 IP ...