什麼是跨域:協議、主網域名稱、子網域名稱、埠有乙個不相同即跨域。
如:在www.test.com 請求 www.abc.com下的介面 (主網域名稱不同)
在www.test.com 請求 m.test.com下的介面 (主網域名稱不同)
在www.test.com 請求 www.test.com:81下的介面 (埠不同)
在www.test.com 請求 下的介面 (協議不同)
解決跨域的方法:
1、使用**的方式
比如在 www.test.com 下需要請求 www.abc.com的介面 可以在後台寫乙個介面呼叫www.abc.com的介面。然後發起ajax請求的時候請求本域下的介面。
2、使用jsonp (這種方法只對get請求起作用)
$.
ajax(,
type:
'get'
, datatype:
'jsonp'
, jsonp:
'callback'
,// jsonp的值可以是任意字串
success:
function
(res)
, error:
function()
})
3、xhr2 (ie10以下不支援)
修改後台**,以php為例。
header(『access-control-allow-origin: *』);
跨域解決辦法
解決跨域 本文通過設定access control allow origin來實現跨域。例如 客戶端的網域名稱是client.runoob.com,而請求的網域名稱是server.runoob.com。如果直接使用ajax訪問,會有以下錯誤 no access control allow origi...
spring boot跨域解決辦法
專案中經常會遇到前後端分離的情況,分離之後會碰到跨域問題,前端無法訪問後端的介面。可以通過如下3種方式解決跨域問題。public class corsfilter implements filter override public void dofilter servletrequest servl...
vue中跨域解決辦法
專案在上線之後,前後端的 放在同乙個伺服器下面,就不存在跨域的問題。然而在前後端分離的開發中,跨域在所難免。在以前,存在跨域的時候一般都叫後台小夥伴設定,但是vue中提供了一種方法,在前端也可以設定解決跨域的問題。下面給大家介紹一下 比如我們服務端的位址為http localhost 3000 而我...