//保存数据
function save(){
var contact = new Object;
contact.user_name = document.getElementById("user_name").value;
contact.mobilephone = document.getElementById("mobilephone").value;
contact.company = document.getElementById("company").value;
var str = JSON.stringify(contact);
localStorage.setItem(contact.mobilephone,str);
loadAll();
}
//查找数据
function find(){
var search_phone = document.getElementById("search_phone").value;
var name = localStorage.getItem(search_phone);
var mobilephone = localStorage.key(name);
var str = localStorage.getItem(contact.mobilephone);
var contact = JSON.parse(str);
var find_result = document.getElementById("find_result");
find_result.innerHTML = search_phone + "的机主是:" +contact.user_name;
}
在查询数据的代码中想要通过JSON.parse()来获取准确的储存在本地上的值,但是那里错误呢?
JSON.parse()的问题
答案:2 悬赏:30 手机版
解决时间 2021-02-04 11:17
- 提问者网友:一抹荒凉废墟
- 2021-02-04 05:46
最佳答案
- 五星知识达人网友:蓝房子
- 2021-02-04 06:27
contact对象没有定义,localStorage.key方法乱用
你的数据结构里头mobilephone===search_phone,不然localStorage取出来的是null哇,要判断一下的
function find(){
var str=localStorage[document.getElementById("search_phone").value];
if(str){
var contact=JSON.parse(str);
document.getElementById("find_result").innerHTML=contact.mobilephone+"的机主是:" +contact.user_name;
}
}
你的数据结构里头mobilephone===search_phone,不然localStorage取出来的是null哇,要判断一下的
function find(){
var str=localStorage[document.getElementById("search_phone").value];
if(str){
var contact=JSON.parse(str);
document.getElementById("find_result").innerHTML=contact.mobilephone+"的机主是:" +contact.user_name;
}
}
全部回答
- 1楼网友:天凉才是好个秋
- 2021-02-04 06:42
对于json.parse的异常处理一般大家只是严格处理json字符串,字符串本身必须带引号,数组的话,数组每一项必须带引号,对象的话,对象的键值都必须带双引号;
所以如果客户端传来的字符串不正确,json.parse()会报错,使程序出现异常;从而使程序退出;
这是需要一个程序捕获异常,让程序能正常运行下去;
这里运用了promise捕获异常的方法;
promise对象的catch方法会自动捕获异常程序;不用设置reject回调;
坚持下去就能成功
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯