前两天作项目有个需求是上传Excel表格,然后成功之后后台读取Excel里面的数据,并将数据给我返回来,返回来的是一个json对象类型的,然后我要将返回的数据,拿到,在另一个页面展示出来,我用的是localStorage,放到缓存里面,然后在另一个页面获取刚才存到缓存的数据,取出来并展示到页面上。
第一步,先在a页面读取数据,并存到localStorage中
$.ajax({
url: 'http://10.129.83.124:8080/ship/getDispatchBillInfo',
type: 'POST', //GET
async: true, //或false,是否异步
data: {
id: 208
},
timeout: 5000, //超时时间
dataType: 'json', //返回的数据格式:json/xml/html/script/jsonp/text
success: function(data) {
//console.log(data);
datas(data);
},
error: function(xhr, textStatus) {
console.log('错误')
console.log(xhr)
console.log(textStatus)
},
complete: function() {
console.log('结束')
}
})
{
"result": true,
"message": "查询成功!",
"code": 0,
"data": [
{
"oemId": 168,
"brandGroup": "长安汽车",
"oemCode": "12A0",
"oemName": "曲轴瓦",
"partsIntroduction": null,
"classify": "曲轴瓦",
"referPic": null,
"goodsName": null,
"partsClassify": null,
"goodsBrand": null,
"price": null,
"storeCnt": null,
"partsList": [
"长安铃木",
"长安铃木天语",
"长安铃木启悦"
],
"qutaList": [],
"newName": "曲轴瓦"
},
{
"oemId": 175,
"brandGroup": "铃木汽车",
"oemCode": "14",
"oemName": "曲轴瓦(下)",
"partsIntroduction": "粉红色,一套",
"classify": "曲轴瓦",
"referPic": null,
"goodsName": null,
"partsClassify": null,
"goodsBrand": null,
"price": null,
"storeCnt": null,
"partsList": [
"长安",
"长安铃木"
],
"qutaList": [],
"newName": "曲轴瓦"
}
]
}
//console.log(response.data); //后台返回的数据是对象类型的,可以以“key.value”的形式获取
//console.log(typeof(response.data)); //object
var strData = JSON.stringify(response.data); //将json对象类型的数据转成字符串类型的,然后才能够放到localstorage本地缓存里面
//console.log(strData); //这个数据就是一个字符串类型的,不能以“key.value”的形式获取
//console.log(typeof(strData)); // string
localStorage.setItem('localData', strData); //将字符串数据放到localstorage本地缓存里。
第二步:将数据从localStorage中读取出来,并展示
var getLocalData = localStorage.getItem('localData');
//console.log(getLocalData); // string 从localstorage本地缓存里面取得数据是json字符串类型,需要转化成json对象才可以用
var jsonObj = JSON.parse(getLocalData); //将json字符串类型,转化成json对象,才可以调用里面的数据
// console.log(jsonObj); //object
转换成object的可以以‘.’的形式读取数据。
所以这就是localStorage的数据存取,和json对象和字符串的转换。