layui框架跨域請求攜帶Cookie


學習了解跨域請求攜帶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 () {
var table = layui.table,
$ = layui.$,
laydate = layui.laydate,
form = layui.form,
layer = layui.layer;
  1. //ajax全局參數設置 OK
         $.ajaxSetup({
        xhrFields: {
withCredentials: true
}
});//


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM