如何解決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即可。如下圖:

 

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

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有效,關閉再打開就無效了,為了方便,還是使用上面的那個修改快捷方式屬性的方法吧!

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。互聯網+時代,時刻要保持學習,攜手千鋒PHP,Dream It Possible。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM