通過ajax或者jQuery的$.getJSON請求本地JSON文件,運行在谷歌瀏覽器時,會報跨域的錯誤
注:火狐瀏覽器也會提示錯誤,但會顯示要獲取的信息
原因:
訪問本地計算機中的文件,使用的是file協議。file協議主要用於訪問本地計算機中的文件。
跨源請求只支持協議模式:http、data、chrome、chrome-extension、https
安全原因瀏覽器不允許跨域訪問,安全機制認為加載本地其他文件是跨域行為。谷歌瀏覽器會報跨域的錯誤,是由於谷歌瀏覽器的安全機制不允許
報錯:
解決方式:
1.使用jsonP
2.根據網上查找有推薦使用webStorm的(沒試過)
3.vscode安裝使用擴展live-server
注:其它網上方式沒試過(eg:反向代理,改谷歌瀏覽器設置之類的)
注:live Server擴展,安裝好后,選擇html文件,右擊選擇Open with Live Server