layui框架跨域請求攜帶Cookie

2022-08-19 15:12:10 字數 856 閱讀 7955

學習了解跨域請求攜帶cookie的問題,需要從頁面和後台兩處設定。

.net core api後台介面專案可在設定跨域策略處,設定響應頭access-control-allow-credentials響應頭為"true",

允許跨域請求攜帶cookie,還需設定access-control-allow-origin為當前的請求網域名稱。

正好,net core跨域策略已經全部處理好,只需在新增跨域策略時用到兩個方法,allowcredentials()為允許跨域憑據(包含cookie和http身份驗證方案)和

withorigins()設定跨域請求網域名稱。

頁面中如果用ajax發起請求,預設跨域請求不攜帶cookie,如果需要ajax發起跨域請求並攜帶cookie需設定xhrfields為true。

從後台和頁面兩處設定,即可完成跨域請求攜帶cookie的問題。

但layui框架的**渲染分頁雖然支援跨域請求,但該請求不攜帶cookie,所以無法從頁面請求時攜帶cookie給後台介面,後台介面的cookie為null。

又因為layui底層使用jquey和ajax處理請求,所以可以在使用layui框架各模組的功能之前,設定ajax全域性引數帶上xhrfields為true即可,這樣之後的ajax跨域請求都可攜帶cookie,而無需單獨設定。

這樣**渲染請求時也帶上了cookie。

也可以設定ajax全域性請求頭(自定義乙個請求頭),引數值設定為cookie的值也可以,這樣後台介面也可以直接從請求頭獲取cookie的值。

layui框架設定如下:

layui.use(['table', 'layer', 'form', 'laydate'], function () 

});//

跨域請求攜帶cookie

之前寫過乙個第三方登入的方案,就是利用tomcat session和cookie配合的方式來完成第三方跨域登入。在時間做的過程中碰到了乙個問題,就是在回寫瀏覽器的cookie時發現一直寫不進去,針對這個問題做了仔細的檢查,原來的採用ajax傳送跨域請求的時候預設是不會攜帶cookie的,如果需要允許...

CORS 跨域攜帶 Cookie 傳送請求

當在 a.com 進行訪問時,如何向 b.com 攜帶 b.com 的 cookie 傳送乙個請求?a.com 是乙個第三方 需要通過訪問 b.com 的介面來獲取使用者的一些資訊。這時候,b.com 上的使用者已經登入了。我們知道,在傳送跨域請求時,需要後端設定一些請求頭,否則瀏覽器不會允許客戶端...

Django 跨域請求時不攜帶cookie

在前後端分離專案中,後端django 登入 中使用session。request.session username user obj.username request.session user id user obj.id request.session is login true 後端伺服器返回r...