如何在Jquery的ajax请求里面,获得Request Header里面的Cookie

如何在Jquery的ajax请求里面,获得Request Header里面的Cookie,第1张

用jquery编写,它的ajax函数中,有一个beforeSend方法,这个方法接受一个参数,就代表了发起异步请求的XML>

确定php setcookie成功了与否;

js读取cookie函数靠谱么;

如果以上都是  用浏览器看一下当前页的cookie是否有 可以用 google chrome谷歌浏览器F12 或者 firefox火狐浏览器firebug 查看

我们会发现,即使后端开发好了跨域头的输出,前端ajax请求时候后台还是获取不到Cookie和Session。其实需要在ajax时候带上参数才可以的。

或者我们可以设置jQuery的全局ajax默认设置,不需要每个请求都带上那种参数。

原生ajax请求方式:

jquery的post方法请求:

服务器端设置:

前后端分离,用nginx做请求跨域处理。用了fetch来替代ajax,访问正常,但是请求时没带cookie,就加了credentials: "include"

在后台配置

1、问题原因:cookie的作用域是domain本身以及domain下的所有子域名。

后端PHP用 setcookie 来设置网站的cookie,该函数的用法如下:

它的第五个参数$domain决定了cookie的作用域。作用域的限制使得setCookie失败

2、解决办法

前端电脑绑定host

webpack代理设置如下

开发时,浏览器访问 >

这是供后台程序使用的session变量值,前端是不能直接显示,也不能修改的,数据本身也是加密的。同一客户端(浏览器)对这个网站的访问都会自动带上这个变量值(也就是说它跟你的ajax请求是没有直接关系的)的。只有后台程序把这个session值的内容通过正常途径返回给前端才能看到的,也只有后台程序才能修改这个值。

SESSION的值时储存于服务器上的一个缓存区域中的,而决定读取哪一个SESSION值的是你在请求头部中传递到服务器的COOKIE[PHPSESSID]=2jiv2u45ur4m77au4cuisgts27。你可以检查一下在ajax请求的头部中这个sessid是否正确的传递了

以上就是关于如何在Jquery的ajax请求里面,获得Request Header里面的Cookie全部的内容,包括:如何在Jquery的ajax请求里面,获得Request Header里面的Cookie、为什么获取不到cookie、jQuery跨域请求带Cookie和Session的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/9797908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存