前言
最近的兩次開發(fā)在試用axios時(shí)被這個(gè)問題所困擾清焕,網(wǎng)上也有很多層出不窮的回復(fù),包括知乎上也有祭犯,所以我就來做個(gè)小結(jié)秸妥。
1.Jsonp
可以引入vue-resource,然后使用
或者是原生JS設(shè)置type為jsonp
2.插件:http-proxy-middleware
https://github.com/chimurai/http-proxy-middleware
2.1 vue-cli的配置(用到的也是http-proxy-middleware)
如果是vue-cli搭建的項(xiàng)目沃粗,在config下有個(gè)index.js文件粥惧,然后有一個(gè)proxyTable的參數(shù),可以進(jìn)行以下兩種配置方式最盅,原來的服務(wù)器是localhost:4567,需要配置的是localhost:8089
3.Nginx
配置代理服務(wù)器突雪。
或者修改header
4.服務(wù)器端配置
可以在API上配置以下配置,意思是所有的url都可以訪問涡贱,缺點(diǎn)是安全性不高咏删。
responce.header("Access-Control-Allow-Origin","*");
5.[CORS](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS)
小結(jié)
總的來說解決跨域問題最優(yōu)的解決方案是通過配置代理服務(wù)器,將url轉(zhuǎn)成想要的服務(wù)器的URL问词。