1.使用 proxyTable(地址映射表)解決跨域問題(即通過設置代理解決跨域問題):
可以通過設置將復雜的url簡化,例如我們要請求的地址是api.xxxxxxxx.com/list/1
,可以按照如下設置:
proxyTable: { '/list': { target: 'http://api.xxxxxxxx.com', pathRewrite: { '^/list': '/list' } } }
這樣我們在寫url的時候,只用寫成/list/1
就可以代表api.xxxxxxxx.com/list/1
.
那么又是如何解決跨域問題的呢?其實在上面的'list'
的參數里有一個changeOrigin
參數,接收一個布爾值,如果設置為true
,那么本地會虛擬一個服務端接收你的請求並代你發送該請求,這樣就不會有跨域問題了,當然這只適用於開發環境。增加的代碼如下所示:
proxyTable: { // 地址映射表 '/list': { target: 'http://api.xxxxxxxx.com', changeOrigin: true, // 如果設置為true,那么本地會虛擬一個服務器接收你的請求並代你發送該請求,這樣就不會有跨域問題(只適合開發環境) pathRewrite: { // 重寫路徑 '^/list': '/list' } } }
.