2017-09-18 153 views
-1

如何在javascript中讀取外部json文件? 我已經使用getjson,json.parse方法,但它不工作。在javascript中讀取外部json文件

我的json文件名是「testquestions.json」。

+2

JavaScript沒有原生讀取文件的能力。這取決於主機環境爲其提供API。你使用什麼主機環境? Node.js的? Windows腳本主機?網頁中的腳本元素?當你說「文件」時,你的意思是一個實際的文件嗎?或者你的意思是一個HTTP資源?或者是其他東西?如果你的意思是一個HTTP資源,你是什麼意思的外部? JS在外部運行?在不同的網站? – Quentin

+1

這個問題也有幾乎一定的重複。 – Quentin

+1

「我已經使用getjson,json.parse方法」 - 如何?你還沒有提供[mcve] – Quentin

回答

0

這應該工作:

$.getJSON("testquestions.json", function(data) { 
    console.log(data); 
}); 

退房JQuery documentation

+0

[除非框架或庫的標籤也包含在內,否則純JavaScript預期用於javascript標記。](https://stackoverflow.com/tags/javascript/info) – Quentin

+0

除非OP提到了jQuery方法並忘記標記jQuery(getJSON) – mplungjan

-2

你必須使用AJAX閱讀文件。您必須使用獲取請求來請求文件。

http://api.jquery.com/jQuery.getJSON/

$.ajax({ 
dataType: "json", 
url: url, 
data: data, 
success: success 
}); 

可以撥打的研製成功模塊的功能。 使用原始javascript:

if (window.XMLHttpRequest) 
{ 
// AJAX IE7+, Chrome, Firefox, Safari, Opera 
    xmlhttp=new XMLHttpRequest(); 
}else{ 
//AJAX IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
    //get the returned data 
    document.getElementById("RESPONSE").innerHTML=xmlhttp.responseText; 
    } 
} 
xmlhttp.open("GET",URI_TO_FILE,true); 
xmlhttp.send(); 
} 
+0

[除非包含框架或庫的標記也包含在內,否則預期使用javascript標記提供純JavaScript回答。](https://stackoverflow.com/標籤/ javascript/info) – Quentin

+0

謝謝Qentin - 更新了答案! – cmprinho

+0

@Quentin除非OP不知道標記jQuery。在jQuery中提到getJSON點 – mplungjan