簡體   English   中英

使用JavaScript讀取本地JSON文件(無Web服務器)

[英]Read local JSON file (no web-server) with JavaScript

這似乎已被多次詢問,但我想確保仍然沒有其他選擇。

所以我需要做的是:

  1. 從.net生成.JSON文件(簡單)
  2. 使用JavaScript讀取本地JSON文件並生成包含有用圖形等的html頁面(使用Raphaeljs)。
  3. 將結果(HTML +關聯的JavaScript)提供給客戶端。

我不介意安裝本地Apache以輕松讀取JSON文件,但由於我不能要求客戶端執行此操作,我正在尋找一種方法來使用JavaScript讀取本地JSON文件(在文件系統上,沒有Web服務器),所以我最終為客戶端提供了HTML,.js和.json,他可以看到相關的圖形。

我一直在讀FileReader類是一個選項,但我希望能夠靈活地在許多IE瀏覽器上支持這些(比如IE7到IE10)。

如何解決這個問題的任何幫助將非常感激。

出於安全原因,Web瀏覽器無法從文件系統讀取文件。 如果我理解正確,您在本地計算機上運行.NET應用程序?

如果是這種情況,您可以托管WCF服務以從您的應用程序提供JSON。 MSDN頁面上描述了WCF自托管。 您應該能夠從瀏覽器向localhost上的應用程序中托管的服務器發出AJAX請求。

如果你想支持舊的IE,你需要進入ActiveX安全設置地獄。 查看var fso = new ActiveXObject("Scripting.FileSystemObject");

但是,如果要將內容和HTML文件提供給客戶端,為什么不直接將JSON標記添加到html文檔中? 看起來像EASY解決方案。

您無法在瀏覽器中從本地磁盤讀取文件(安全限制)。 但是,一旦你要提供HTML + js和JSON(在zip?中),你可以從常規的Web服務器上讀取json。 只需使用相對鏈接,如果JSON將位於HTML和JS所在的同一文件夾中。 或者您可以將您的JSON作為您交付給客戶的HTML的一部分。

但是,如果您要在Web上的網站上顯示頁面(HTML和JS),則最好讓客戶端上傳他們的JSON文件,而不是從服務器下載(以AJAX樣式)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM