他的龙根本太大了_动漫美女被吸乳视频漫画_欧美xxxx性疯狂bbbb_天天看天天爽天天摸天天添

跨域請求及跨域攜帶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://ssll180.com

存檔

<noscript id="l1zx0"></noscript><meter id="l1zx0"><object id="l1zx0"></object></meter>
    <table id="l1zx0"><legend id="l1zx0"><ins id="l1zx0"></ins></legend></table>