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

    }

  })

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值