vue.js如何解決跨域請求問題
阿新 • • 發佈:2019-01-06
在vue專案中,前端與後臺進行資料請求或者提交時,如果後臺沒有設定跨域,那麼前端本地除錯程式碼的時候就會報錯
使用http-proxy-middleware 代理解決(注意:專案使用vue-cli腳手架搭建)
例如請求的介面為:'http://172.16.2.212:10000/api/micro/productStore/getSubCategoryListAndProd'
- 從專案的根目錄下開啟config/index.js檔案,在proxyTable中新增如下程式碼:
proxyTable: { '/pcApi': { target: 'http://172.16.2.212:10000/api/micro', changeOrigin: true, pathRewrite: { '^/pcApi': '' } } },
- 使用axios請求資料時直接使用'/pcApi':
getHotSell () { this.$get({ url: '/pcApi/productStore/getSubCategoryListAndProd/gouwuchetuijian/CN-3101', success:function (res) { console.log(res) } }) }
-
通過這中方法去解決跨域,打包部署時還按這種方法會出問題。解決方法如下:
let serverUrl = '/api/' //本地除錯時 // let serverUrl = 'http://f.apiplus.cn/' //打包部署上線時 export default { dataUrl: serverUrl + 'bj11x5.json' }