前后端分离项目,后端配置允许跨域设置为*,接口请求报错
但是接口又有返回值:
两种解决办法:
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即可。