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) {

    }

  })

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章