慕仙森
2018-09-24 17:13:04
問題:目前的項目是這樣的,比如本機地址是:192.168.1.101,后臺地址是:192.168.1.105:9006,然后前端項目跑起來的地址是192.168.1.102:8008,項目當中使用 axios,baseUrl = 192.168.1.105:9006所以每次發起請求就跨域了,不知道這種情況是怎么解決跨域問題的?
1 回答

慕娘9325324
TA貢獻1783條經驗 獲得超4個贊
其實跨域最常用的解決方式就兩種
1 . CORS 后端設置 header
Access-Control-Allow-Origin: *
允許哪些域名 (*所有)Access-Control-Allow-Headers: X-Requested-With
允許哪些請求頭Access-Control-Allow-Methods: PUT,POST,GET,DELETE,OPTIONS
允許哪些方法 (非簡單請求會有option)
后臺配置完之后 axios
baseUrl = 后端服務器地址
(開發模式)baseUrl = 線上服務器地址
(生產模式)
2 . 代理
跨域是瀏覽器限制的 后端直接請求并不限制
所以可以 瀏覽器 -> 代理服務器 -> 后端 -> 代理服務器 -> 瀏覽器
react
vue
腳手架 都是 用的 webpack-dev-server
其內部都是用 http-proxy-middleware
你也可以自己用node
簡單的代理 http
http-proxy-middleware
http-proxy
都可以
也可以用 nginx
配置完代理之后 axios
baseUrl = 代理服務器地址
(開發模式)baseUrl = 線上服務器地址
(生產模式)
添加回答
舉報
0/150
提交
取消