cookie、 Session Storage 、 Local Storage

问题描述:

使用Ajax, Controller 传回来 JSON 字符串(待处理的信息)

在 Ajax 中实现页面跳转 

window.location.href="/jsp/index.jsp";

可是有一个问题没有办法解决   把Ajax接收到Controller后台处理结果的值,传到新跳转的页面。

问了大神,告诉我用 Local Storage  (解决了 Session 关闭即消失,cookie 易出错的问题)

使用方法:

controller

// 登录成功
map.put("code",1);
map.put("msg","登录成功");

map.put("nickname",user.getNickname());
String result = new JSONObject(map).toString();
return result;

ajax

$.ajax({
async: false,//同步,待请求完毕后再执行后面的代码
type: "POST",
url: '/user/login.action',
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: $("#loginForm").serialize(),
dataType: "json",
success: function (data) {
if(data.code==0) {
alert(data.msg);
} else {
var nickname = data.nickname;
localStorage.setItem("nickname",nikename||"");
window.location.href="/jsp/index.jsp";
}
},
error: function () {
alert("数据获取失败")
}
})

jsp

<script>
var nickname = localStorage.getItem("nickname");
alert(nickname)
</script>


总结:
 前端页面存数据使用localStorage和sessionStorage,不使用cookies。就是为了方便,直接set和get方法就好了。
sessionStorage:是浏览器一关闭就数据丢失
localStorage:存储的数据天地同寿
localStorage.setItem(k,v);
v = localStorage.getItem(k); 





原文地址:https://www.cnblogs.com/dong-dong-1/p/8759792.html