我想到了。我用来访问我的rest api的Web应用程序在与我的rest
api不同的本地端口上运行。这将导致AJAX请求无法满足CORS要求,因此cookie实际上并未设置。
编辑 :我应该补充一点,它是在为我固定的
xhrFieldsJQuery
$ajax方法中添加了代码段,其他部分则没有必要。
(如果答案被删除,请在下面发布答案)
我想我找到了解决方案。由于在开发过程中,我的服务器位于“ localhost:30002”,而我的Web应用程序位于“
localhost:8003”,因此它们被视为有关CORS的 不同
主机。因此,我对服务器的所有请求都被CORS安全规则所涵盖,尤其是带有凭据的请求。“凭据”包括该链接上指出的cookie,因此返回的cookie被拒绝,因为我没有通过
xhrFields: { withCredentials: true}jQuery的
$.ajax功能。我还必须将该选项传递给后续的CORS请求,以便发送cookie。
我
Access-Control-Allow-Credentials: true在服务器端添加了标头,并将
Access-Control-Allow-Origin标头从通配符更改为
http://localhost:8003(端口号很重要!)。该解决方案现在对我有效,并且cookie被存储。



