什么是跨域訪問
- 跨域訪問,簡單來說就是 A 網(wǎng)站的 javascript 代碼試圖訪問 C網(wǎng)站,包括提交內(nèi)容和獲取內(nèi)容。由于安全原因,跨域訪問是被各大瀏覽器所默認(rèn)禁止的。
- 跨域是瀏覽器才擁有的限制。
- 跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制。
怎樣會(huì)導(dǎo)致跨域
- 域名不同
- 端口不同
- 協(xié)議不同
跨域訪問導(dǎo)致的問題
- 跨域并不是說你不能把數(shù)據(jù)傳遞過去,其實(shí)你能把數(shù)據(jù)傳遞過去,也能收到響應(yīng),不過能收到,不代表能使用,network網(wǎng)絡(luò)請求里是可以看到響應(yīng)的,但是瀏覽器限制了xhr不處理,所以xhr是可以把數(shù)據(jù)傳遞過去,但是如果你想使用響應(yīng)結(jié)果,是做不到的
跨域有哪些手段
- 后端設(shè)置接口允許跨域
- jsonp - 僅限get請求
- domain - 僅限主域和子域之間document.domain設(shè)置成同樣的值
- 服務(wù)端代理 - 服務(wù)器之間進(jìn)行通信
- postMessage - 跨文檔傳輸信息iframe