Access-Control-Allow-Origin配置报错

前后端分离项目,后端配置允许跨域设置为*,接口请求报错

但是接口又有返回值:
在这里插入图片描述
两种解决办法:

1、前端设置 withCredentials: false

withCredentials:true, 这个字段的意思是允许携带cookie,但是这种报错是由于后端设置允许跨域的时候 Access-Control-Allow-Origin: 设置为 * ,导致报错,只要把 withCredentials 改为false即可。

2、后端修改

withCredentials仍为true,因为大部分后端请求需要前端携带cookie过去,这个时候本地开发或者跨域名可能有跨域问题,可以让后端设置 Access-Control-Allow-Origin的值为一个根域名的domain下面即可

总结

如果后端接口需要前端携带cookie的情况下,withCredentials的值必须为true,这个时候如果有跨域问题,后端设置的时候不能设置为 * ,可以设置项目的根域名;如果不需要前端携带cookie的时候,后端可以设置为* ,前端只需要把withCredentials的值设置为false即可。

发布了36 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/guoqiankunmiss/article/details/90370384