<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 跨域請求及跨域攜帶Cookie解決方案

    2018-8-8    seo達人

    如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

    Web項目前后端分離開發時,經常會遇到跨域請求和跨域攜帶Cookie的相關問題:

    跨域請求

    服務端可以根據實際需求修改下面設置,以Java代碼為做示例:

     //允許跨域的域名,*號為允許所有,存在被 DDoS攻擊的可能。
    getResponse().setHeader("Access-Control-Allow-Origin","*");
    
    //表明服務器支持的所有頭信息字段
    getResponse().setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma,Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token");
    
    /** 目前測試來看為了兼容所有請求方式,上面2個必須設 **/
    
    //如果需要把Cookie發到服務端,需要指定Access-Control-Allow-Credentials字段為true;
    getResponse().setHeader("Access-Control-Allow-Credentials", "true");
    
    // 首部字段 Access-Control-Allow-Methods 表明服務器允許客戶端使用 POST, GET 和 OPTIONS 方法發起請求。
    //該字段與 HTTP/1.1 Allow: response header 類似,但僅限于在需要訪問控制的場景中使用。
    getResponse().setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
    
    //表明該響應的有效時間為 86400 秒,也就是 24 小時。在有效時間內,瀏覽器無須為同一請求再次發起預檢請求。
    //請注意,瀏覽器自身維護了一個最大有效時間,如果該首部字段的值超過了最大有效時間,將不會生效。
    getResponse().setHeader("Access-Control-Max-Age", "86400");
    
    // IE8 引入XDomainRequest跨站數據獲取功能,也就是說為了兼容IE
    getResponse().setHeader("XDomainRequestAllowed","1"); 
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    跨域請求攜帶Cookie

    服務端可以根據實際需求修改下面設置,以Java代碼為做示例:

     //如果需要把Cookie發到服務端,需要指定Access-Control-Allow-Credentials字段為true;
    response.setHeader("Access-Control-Allow-Credentials", "true");
    
    //允許跨域的域名,*號為允許所有,存在被 DDoS攻擊的可能。
    response.setHeader("Access-Control-Allow-Origin",request.getHeader("Origin"));
    
    //表明服務器支持的頭信息字段
    response.setHeader("Access-Control-Allow-Headers","content-type"); 
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    前端根據實際情況修改發起請求的ajax,示例:

     $.ajax({
        type: "POST",
        url: "實際的請求地址",
        data: {參數:參數值},
        dataType: "json",
        crossDomain:true, //設置跨域為true xhrFields: {
                  withCredentials: true //默認情況下,標準的跨域請求是不會發送cookie的 },
        success: function(data){ alert("請求成功");      
        }
    }); 
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    另外還有代理、jsonp等方式不做介紹了


    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.skdbbs.com

    存檔

    主站蜘蛛池模板: 国产亚洲福利精品一区| 国产亚洲精品xxx| 2022免费国产精品福利在线| 97久久精品人人做人人爽| 久久久久无码精品国产| 女人高潮内射99精品| 欧美国产亚洲精品高清不卡| 日韩精品国产另类专区| 日韩午夜高清福利片在线观看欧美亚洲精品suv| 久久精品国产一区二区三区日韩| 人妻精品久久无码区| 亚洲精品国产综合久久一线| 国内精品国产成人国产三级| 国产一精品一av一免费爽爽| 久久国产精品99精品国产| 亚洲国产精品毛片av不卡在线| 99热亚洲精品6码| 欧美精品亚洲精品日韩1818| 69堂国产成人精品视频不卡| 久久夜色精品国产噜噜噜亚洲AV| 欧美日韩精品系列一区二区三区| 国产午夜精品一区二区三区不卡| 欧美日韩精品在线| 久久久久久久99精品免费观看| 91麻豆精品国产自产在线观看一区 | 55夜色66夜色国产精品视频| 久久国产乱子伦免费精品| 亚洲精品国产品国语在线| 美女岳肉太深了使劲国产精品亚洲专一区二区三区 | 国产精品无码免费专区午夜| 色花堂国产精品第一页| 国产99re在线观看只有精品| 国内精品久久人妻互换| 麻豆亚洲AV永久无码精品久久 | 精品福利一区二区三区免费视频| 色一乱一伦一图一区二区精品 | 国产精品久久久久久久久免费| 99国产精品永久免费视频| 国产精品va无码一区二区| 精品免费人成视频app| 国产亚洲精品美女久久久|