解決跨域的三種方法 在前后端分離后,應(yīng)該用什么工具測(cè)試后端接口,postman貌似是不可以的,因?yàn)樗鼫y(cè)試的時(shí)候不存在跨域?
在前后端分離后,應(yīng)該用什么工具測(cè)試后端接口,postman貌似是不可以的,因?yàn)樗鼫y(cè)試的時(shí)候不存在跨域?大家都是如何解決javascript跨域訪問(wèn)的?首先,你需要知道什么是JavaScript跨域???/p>
在前后端分離后,應(yīng)該用什么工具測(cè)試后端接口,postman貌似是不可以的,因?yàn)樗鼫y(cè)試的時(shí)候不存在跨域?
大家都是如何解決javascript跨域訪問(wèn)的?
首先,你需要知道什么是JavaScript跨域。跨域受瀏覽器的同源策略的限制,需要同一個(gè)源進(jìn)行通信,即協(xié)議、域名和端口號(hào)都是相同的。同源策略將限制兩種情況。第一種是不向不同來(lái)源的服務(wù)發(fā)送請(qǐng)求,第二種是不從不同的來(lái)源(如文檔和cookie)獲取BOM和DOM。我們通常通過(guò)解決第一個(gè)場(chǎng)景來(lái)解決跨域問(wèn)題。有三種常見(jiàn)的方法來(lái)解決第一種情況。
1。最常用的CORS
CORS實(shí)際上是直接在服務(wù)器上配置的,CORS位于請(qǐng)求的響應(yīng)頭中。允許的來(lái)源包括網(wǎng)站,這樣瀏覽器就不會(huì)截獲請(qǐng)求的響應(yīng)。
訪問(wèn)控制允許原點(diǎn):*
2。Jsonp
Jsonp使用script標(biāo)記跨域,并在script的SRC后添加一個(gè)回調(diào)函數(shù),請(qǐng)求可執(zhí)行的JavaScript文本。
3. Nginx轉(zhuǎn)發(fā)
Nginx轉(zhuǎn)發(fā)是一種相對(duì)安全的方法,在公司中經(jīng)常使用。只需將前端請(qǐng)求轉(zhuǎn)發(fā)到nginx配置文件中跨域服務(wù)器的IP地址即可
1。Jsonp,但這是有限的,只有g(shù)et方法。
2、引用跨域JS文件。JS引用跨域JS文件沒(méi)有限制。JS可以與WebService在同一個(gè)源代碼中實(shí)現(xiàn),然后在需要跨域訪問(wèn)的地方引入JS文件,實(shí)現(xiàn)跨域訪問(wèn)。
js可以實(shí)現(xiàn)跨域訪問(wèn)webservice嗎?
沒(méi)辦法得到這個(gè)。
瀏覽器的同源策略不允許跨域讀取Cookie。
如果瀏覽器不允許,Nodejs是服務(wù)器端。當(dāng)然,服務(wù)器無(wú)法獲取跨域cookie信息。