ajax攜帶cookie的兩種方式


1.  Ajax攜帶cookie的兩種方式

  場景:

  后台需要前端的ajax請求攜帶上cookie值,因為cookie上面有用戶的userId的加密信息或者是token。
 
  
  解決步驟:
  1、服務器方面,添加@CrossOrigin注解到controller層上。-----》解決服務端允許前端跨域問題。
  2、前端方面:必須要注意的點是:瀏覽器的同源策略問題----》就是域名必須要一致,否則,ajax是不會攜帶非同源的cookie的。-----》怎樣解決這個同源的問題呢?-----》如果前端同事懂的話,可以用node.js去配置代理---》如果是后台同事懂的話,可以用nginx去配置反向代理------》目的是:讓域名保持一致!!!!!
 
   ajax請求
  a.  第一種
  $.ajax({
    url: 'www.baidu.com',
    type: 'post',
    data: '',
    //  默認情況下,標准的跨域請求是不會發送cookie的
    xhrFields: {
      withCredentials: true
    },
    success: (rs) {
    }
  })
 
  b.  第二種 /  因為有時候第一種情況cookie也是攜帶不過去的,可以通過fiddle 4抓包看
  $.ajax({
    url: 'www.baidu.com',
    type: 'post',
    data: '',
    //  默認情況下,標准的跨域請求是不會發送cookie的
    beforeSend: function (xhr) {
      xhr.withCredentials = true
    },
    success: (rs) {
    }
  })


免責聲明!

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



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