前端跨域問題及個人解決方法

2021-08-22 14:52:39 字數 771 閱讀 9266

跨域

什麼是? 資源跳轉(a鏈結,重定向,表單提交),資源嵌入(dom標籤),指令碼請求(js發起的ajax請求 dom和js物件的跨域操作等)

判斷是否為跨域:referer.gethostname();判斷是否是乙個網域名稱

同源策略:協議相同 網域名稱相同 埠相同 

同源策略的目的,是為了保護使用者資訊的安全,防止惡意的網路切取資料。

目前來說,如果非同源,有以下三種行為受到限制:

①cookie、localstorage、indexdb無法讀取 ②dom無法獲得 ③ajax請求不能傳送

如何解決跨域問題:

1.jsonp

在script標籤內新增乙個callback引數

2.請求頭 

res.header("access-control-allow-origin", "*");

res.header("access-control-allow-headers", "content-type,content-length, authorization, accept,x-requested-with");

res.header("access-control-allow-methods","put,post,get,delete,options");

res.header("x-powered-by",' 3.2.1');

if(req.method=="options") res.send(200);/*讓options請求快速返回*/

else next();

});

js跨域及解決方法

前段時間做重構公司 的時候需要跨域訪問我們這邊其他系統的介面,由於那邊的介面都是採用webservice的方式返回json的形式提供的,正好他們那邊還提供的ajax的使用示例,就懶得在跑到後台去傳遞了,直接前台用ajax了。結果一直沒有效果,chrome除錯的時候報出這樣的提示xmlhttprequ...

vue跨域 前端後端各種解決方法

在後端使用spring boot。spring boot跨域非常簡單,只需書寫以下 即可。configuration public class customcorsconfiguration bean public corsfilter corsfilter spring boot應用用nginx反...

關於前端跨域請求的解決方法

近期在做專案 前後端業務分離 遇到跨域請求失敗的問題,記錄一下,報錯資訊如下 access to xmlhttprequest at from origin http localhost 8000 has been blocked by cors policy no access control a...