通過配置proxyTable,可解決axios跨域問題,從而不用后台改接口,實現請求接口數據 。
百度了很多方法,綜合了一下有以下幾種:
第一種:
在服務器配置(關鍵代碼)
response.setHeader("Access-Control-Allow-Origin", "*");//允許其他域名訪問 response.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS" );//響應類型 response.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type");//響應頭設置
在main.js里面添加
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
此方法沒嘗試,只是總結了一下
第二種:
通過配置proxyTable (項目的config文件夾下的index.js的dev: {....}里面)
target:‘這里寫的是以http://或者https://開頭的域名,如:https://www.baidu.com/ ’
然后在main.js里面直接調用
這里我get請求訪問的域名就會是https://www.baidu.com/StairClassUrl/GetColumn
注意 這里定義的全局屬性baseUrl 必須和 proxyTable 里面的 pathRewrite 定義的名稱一致。
如果不一致還是會報錯
然后關閉項目,重啟(因為修改了config里面的文件,所以必須重啟才能看效果!!!)就能成功接收到數據
只用了第二種,親測有效