场景:
本地启动springweb项目和react项目,域名都是localhost,springweb项目根路径/demo,react项目路径/react/index, react使用middlewareproxy代理接口(代理地址/api)请求到springweb项目上
springweb项目jsp页面(/demo/abc),iframe内嵌同域名下的react前端页面(/react/index),jsp跳转到内嵌的react页面时默认会携带cookie(因为同一个域名下),当react页面内调用spring项目接口时该页面发送请求携带的cookie存在缺失。
如:spring的web项目下有cookie:
| name | value | path |
| c1 | v1 | / |
| c2 | v2 | /demo |
react页面发送请求时,只携带了c1的cookie,导致调用spring项目接口缺少必要的参数。
原因:
react页面和springweb项目虽然是同一个域名,但是当react的proxy设置的接口跟转发根路径与springweb项目不同时,默认发送的请求只会带有域名根路径 / 下的cookie,/demo下的cookie不会携带,所以丢失参数。
解决方式:
react的proxy设置代理路径为/demo,保持和springweb项目路径一致,就可以把c2的cookie也带上了。
本文讲述了在本地部署的React与SpringWeb项目中,如何解决由于proxy代理路径设置不同导致的跨域cookie丢失问题,通过调整React的proxy配置来确保所有相关cookie传递。
2324

被折叠的 条评论
为什么被折叠?



