天天看點

chrome 等浏覽器不支援本地ajax請求的問題chrome 等浏覽器不支援本地ajax請求的問題

chrome 等浏覽器不支援本地ajax請求的問題

chrome 等浏覽器不支援本地ajax請求的問題chrome 等浏覽器不支援本地ajax請求的問題

XMLHttpRequest cannot load file:///D:/WWW/angularlx/ui-router-test/template/content.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

上述是chrome控制台報錯資訊,資訊的意思很明顯,XMLHttpRequest 不能加載那個html檔案,在本地是禁止跨域請求的,不支援file://協定,其實,這是我直接輕按兩下index.html檔案後的結果,其實,我在自己電腦上安裝了phpstudy套件,我通過http://127.0.0.1/......./index.html是可以正常打開頁面的,且不會報錯,這是當然的,如上述報錯資訊後半句,跨域請求支援的協定有http嘛!

其實 ,禁止跨域是浏覽器的安全限制機制,在每個浏覽器下都有,如在chrome、Firefox、opera 、360 都是這樣的,同樣會報告上述錯誤,但是可以通過設定來繞過這個限制(如果經常 完前端代碼 建議在本機裝個web容器。。。),常見的方式是  右擊chrome快捷方式,選擇“屬性”,在“快捷方式”下的“目标”中添加" --allow-file-access-from-files"(最前面有個空格),重新開機chrome即可。如下圖:

chrome 等浏覽器不支援本地ajax請求的問題chrome 等浏覽器不支援本地ajax請求的問題

還有一種方式,不用在快捷方式上做手腳,就是:

1、cmd進入dos環境

2、dos下進入\Google\Chrome\Application>(chrome.exe所在目錄)

3、運作指令 chrome.exe -- allow-file-access-from-files;

注意:運作完第3步之後,這個時候就會啟動chrome浏覽器,不要關閉它,使用chrome打開那個之前會報錯的html檔案,發現正常了,不會報錯了,可是,我現在把chrome關閉,在使用chrome代碼這個html檔案還是會報錯,這說明,這個方法隻對本次打開的chrome有效,關閉再打開就無效了,為了友善,還是使用上面的那個修改快捷方式屬性的方法吧!

轉自:https://blog.csdn.net/u010874036/article/details/51728622

繼續閱讀