我已经阅读了很多帖子而没有成功。我正在开发一个字符串化的简单set / get localstorage,如下面的link所示。
不幸的是,我总是遇到这个错误:
请求失败:错误,NS_ERROR_DOM_BAD_URI:访问受限制的URI 拒绝
这是我正在使用的一个小节(仅用于我的测试):
var id_expert = "1";
var testjson = "js/testjson.js";
$.getJSON(testjson)
.done(function( data ) {
//////// STORE ///////////
window.localStorage.setItem("id_expert_selected", id_expert);
var list = 'questions_'+id_expert;
window.localStorage.setItem(list,JSON.stringify(data));
////////// RETRIEVE //////////////
var id_exp = window.localStorage.getItem('id_expert_selected');
var list_answ = window.localStorage.getItem('questions_'+id_expert);
var test = JSON.parse(list_answ) || {};
$.getJSON( test )
.done(function( data ) { <---------- I'm not able to got it.
... bla bla bla...
在sniplet中,我存储/检索json字符串,而没有解析成功。 我确定json是好的,因为当我使用它而没有localstorage时,我得到了解析。
有任何线索吗?
编辑:
即使使用此结果我也得到了相同的结果:
$.getJSON( list_answ )
.done(function( data ) { <---------- I'm not able to got it.
... bla bla bla...
我也尝试在Firefox配置中更改一个标志(一些安全性的东西),但错误仍然存在。 在真正的Android设备上,在调试中,我读了另一种错误描述:
文件:///storage/emulated/0/Android/data/com.intel.html5tools.apppreview/cac.../previews/MyApp/1/%7B%22username%22:%22myusername%22%22pwd% 22:%22mypwd%22%7D 净:: ERR_FILE_NOT_FOUND
感谢MegaAppBear我解决了:
//// STORE JSON /////
window.localStorage.setItem("id_expert_selected", id_expert);
var list = 'questions_'+id_expert;
window.localStorage.setItem(list,JSON.stringify(data));
////检索JSON /////
var id_expert = window.localStorage.getItem('id_expert_selected');
var list_data = window.localStorage.getItem('questions_'+id_expert),
def = $.Deferred();
if (!list_data) {
def = $.getJSON('js/test.json', function(data) {
/// save data using localStorage.setItem
});
}else{
list_data = JSON.parse(list_data);
def.resolve();
}
def.done(function() {
var expert_name = document.getElementById('expert_name');
expert_name.textContent = list_data.NameExpert;
..... and so on .......
答案 0 :(得分:1)
我不确定你在这里尝试做什么。
var test = JSON.parse(list_answ) || {}; // This returns an object
和
$.getJSON( test ); // this expects a uri