ajax携带cookie的两种方式

mac2022-06-30  66

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

转载于:https://www.cnblogs.com/lgl1209/p/11527080.html

最新回复(0)