首先你要知道什么是javascript跨域,跨域是因為受到了瀏覽器同源策略的限制,同源策略要求源相同才能進行通信,就是協議,域名,端口號都完全一致。同源策略具體會限制兩種場景,第一種是不能向不同源的服務發請求,第二種就是不能獲得不同源的document,cookie等BOM,DOM。我們一般解決的跨域,都是解決第一種場景。解決第一種場景我知道的常用方法有三種方法,
1.最常用的CORS
CORS其實就是在服務器直接配置,在請求的響應頭帶上CORS,允許的源包括本網站,這樣就可以讓瀏覽器不攔截請求的響應了。
Access-Control-Allow-Origin:*
2.JSONP
JSONP利用的是script標簽能夠跨域,在script的src后面加一個回調函數,這個script請求回來可以執行的javascript文本。
3.nginx轉發
nginx轉發是比較安全也是公司里面經常用的方法,只要在nginx的配置文件里面,把前端的請求轉發到跨域的服務器IP地址就可以啦