2016-12-29 47 views
0

我需要在js中加載文本文件,文本文件與.js文件位於相同的目錄中。從站點文件加載文本文件

我發現這個代碼

var file = new XMLHttpRequest() 
file.open("GET", "file.txt", true) 
file.send() 

file.onreadystatechange = function() { 
    if (file.readyState == 4 && file.status == 200) { 
     console.log(file.responseText) 
    } 
} 

但是,如果我打開我的網站在本地( 「文件:/// C:/site.html」)不起作用

我如何可以加載如果它是本地運行的文本? (如果沒有使用JQuery)

編輯

我不想使用jQuery,但這些都是一些問題與使用JQuery。

Ajax in Jquery does not work from local file」 或 「Jquery load() only working in firefox?

+1

在本地服務器上運行腳本(如AMPPS,WAMP,甲基苯丙胺,等等)而不是來自目錄。原因是因爲大多數瀏覽器會阻止遠程下載的HTML文件,這些文件在打開時可以訪問本地文件。 – Terry

回答

1

Web瀏覽器的安全策略會禁止獲取文件資源。你可以,但是,使用JSONP來規避這樣的:

var tag = document.createElement("script"); 
tag.src = 'filename.txt'; 

document.getElementsByTagName("head")[0].appendChild(tag); 
function callback (data) { 

} 

你需要filename.txt看起來是這樣的:

callback('<text-file-content>')