最近一直在經過 webpack + Vue-CLI 來學習,想跨域調用接口數據。奈何因同源策略,瀏覽器限制,致使資源請求一直不成功。html
如今整理一下思路 — —前端
指瀏覽器受同源策略限制,不可以訪問不一樣域的頁面(腳本)。webpack
Netscape(網景)公司的一個安全策略。所謂的源指的是web
Protocol://domain:port
//協議 域名 端口
當頁面A向頁面B作了一個Ajax請求。只要以上協議、域名和端口有一處不一樣。那就是跨域,將被瀏覽器限制訪問。npm
多數狀況下,頁面請求資源有多種。同源策略限制了Ajax請求。像Html標籤中,如<img>、<script>等的src屬性,不受同源策略影響,能夠請求其餘域中的資源。api
前端中經常使用的JSONP跨域請求原理就是基於此。跨域
(如下在VUE開發過程當中調用後臺數據頗有用)瀏覽器
先說一下手頭資源:安全
Vue-CLI腳手架爲咱們生成的開發環境中能夠在 config 文件夾下找到 index.js。該js文件是項目的主要配置(包括監聽dua口、打包路徑等)。再找到proxyTable屬性。服務器
proxyTable讓頁面所在本地服務器去跨域訪問其餘服務器上的資源。由於同源策略是瀏覽器限制,而服務器之間跨域的訪問是不受同源策略的影響的。
簡單測試一下:
結果:
最後須要注意的是,修改了 proxyTable 屬性後,必定要將項目從新 「npm run dev」 一下,否則瀏覽器仍是可能會報錯。