[英]reading local JSON file with javascript
我需要從本地文件系統加載 json。 這是我嘗試過的:
索引.htlm:
<html>
<head>
<title>JSON File Locally by Javascript Without JQuery</title>
<script type="text/javascript" src="script.js"></script>
</head>
<body onload="loadJSON()">
Load JSON File Locally by Javascript Without JQuery
</body>
</html>
腳本.js:
function loadJSON(callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'employee.json', true);
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
}
}
xobj.send(null);
}
loadJSON(function(response) {
jsonresponse = JSON.parse(response);
console.log(jsonresponse[0].name);
});
員工.json:
[{"name" : "Harry", "age" : "32"}]
但是在console.log output上什么都讀不出來。 我嘗試使用XMLHttpRequest()
function 但很快意識到它僅適用於基於 web 的 json 文件。 任何幫助表示贊賞。
您所要求的根本不可能 - 出於安全原因,瀏覽器不會讓 javascript 訪問文件系統。 您需要通過 HTTPS(通過后端服務器)提供文件,或者對您的整體問題采取不同的方法。
我假設“本地文件系統”是指本地安裝的服務器,例如 xampp?,在這種情況下:-也許您想保持簡單:
<script>
window.onload = function(){
function loadJson(){
const xobj = new XMLHttpRequest();
xobj.open('POST', 'employee.json');
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
let data = xobj.responseText;
data = JSON.parse(data);
console.log(data[0]['name']);
}
}//xobj.onreadystatechange
xobj.send(null);
}
loadJson();
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.