我正在尝试使用以下代码将本地JSON数据呈现给DOM,但它无法正常工作。我不确定我做错了什么,并希望得到任何帮助。
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="model-controller.js"></script>
</head>
<body>
<button id="clickMe" style="background-color: #000; color: white;" onClick="myObj()">Click ME</button>
</div>
<div id="demo"></div>
</body>
</html>
模型controller.js
var myObj = JSON.parse("item-data.json", function(data) {return data});
document.getElementById("demo").innerHTML = data;
};
myObj();
答案 0 :(得分:1)
JSON.parse
函数获取一个表示json编码对象的字符串,而不是文件的路径。
如果需要解析文件,可以使用jquery访问文件
fn test(cp_vec_tmp: Vec<&str>) -> Vec<&str> {
let mut multi_string = String::new();
let mut whether_has_quote = false;
let mut cp_vec: Vec<&str> = Vec::new();
for index in 0..cp_vec_tmp.len() {
if cp_vec_tmp[index].starts_with("\"") {
whether_has_quote = true;
multi_string = String::new();
}
if whether_has_quote {
multi_string.push_str(cp_vec_tmp[index]);
} else {
cp_vec.push(cp_vec_tmp[index]);
}
if cp_vec_tmp[index].ends_with("\"") {
whether_has_quote = false;
cp_vec.push(&multi_string);
}
}
return cp_vec;
}
或者使用vanilla javascript然后$.getJSON('item-data.json', function(data) {
document.getElementById("demo").innerHTML = data;
});
获取文件的内容:
JSON.parse
答案 1 :(得分:1)
app.use(express.static(path.join(__dirname, '/')));
将给定的字符串解析为JS对象。但它不会加载外部文件。 See this page for more info on the JSON.parse
method
您要做的是获取文件,例如jQuery.getJSON
,jQuery.get
或axios
。
JSON.parse
jQuery.get( 'https://api.coinbase.com/v2/prices/spot?currency=USD', ( data ) => {
$( '#result' ).text( JSON.stringify( data, null, 2 ) );
} );