我正在學習將外部本地JSON文件讀入javascript。我按照以下將外部本地JSON文件讀入Javascript
How to read an external local JSON file in Javascript
然而,鏈接,我無法做到這一點。我在我的C盤中有一個test.json,其路徑是「c:\\ test.json」。我認爲我的程序是這樣工作的:當本地json文件中的內容被更新時,我的程序將提醒json文件中的數據。我不知道我的程序有什麼問題。希望有人能幫助我。先謝謝你。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>noName</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script type="text/javascript" src="test.json"></script>
<script type="text/javascript" src="javascrip.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function() {
alert("goes here ");
readTextFile("c:/test.json", function(text){
var data = JSON.parse(text);
alert(data);
});
});
function readTextFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == "200") {
callback(rawFile.responseText);
}
};
rawFile.send(null);
}
test.json
{ 「筆記」:[ 「S0」, 「S5」, 「S4」, 「S3」, 「S2」, 「s1」]}
我很確定你不能獲取本地文件。如果可以的話,你可能需要XMLHttpRequest路徑中的'file:'協議。 [這個答案](http://stackoverflow.com/a/11063963/1848578)應該是有幫助的。 – qxz
我發佈的鏈接中的第三個答案表示我可以獲取本地文件..我知道這很奇怪。 – vkosyj
根據您的設置,它可能在某些瀏覽器中運行,而在其他瀏覽器中運行。如果你仔細想想,如果任何網頁能夠讀取你計算機上任意文件的內容,那將是一個嚴重的安全問題。 – qxz