instance.defaults.withCredentials = true;
instance.defaults.headers.common["Authorization"] = AUTH_TOKEN!;
axios这两个属性一起使用会报错
平时应该只设置其中一个用与验证
如果要用cookie+session的形式验证的话
instance.defaults.withCredentials = true;
这个属性必须设置
后台必须把下面的响应头都设置上
response.statusCode = 200;
response.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");
response.setHeader("Content-Type", "text/html;charset=utf-8");
response.setHeader("Access-Control-Allow-Credentials", true);
response.setHeader("Access-Control-Allow-Headers", "*");
response.setHeader("Access-Control-Max-Age", "36000");
res.setHeader("Set-Cookie", "session_id=1; Path=/"); //设置cookie
- 注意要加Path不然cookie不会被浏览器保存
response.setHeader("Access-Control-Allow-Origin", "http://localhost:3000")
- 源必须指定不能是*
如果用token做用户验证的话
-
axios的配置里面,这个一定要设置成false不然也是没办法解决跨域的问题
instance.defaults.withCredentials = false
-
与cookie+session不同 源不必指定用*就行
response.setHeader("Access-Control-Allow-Origin", "*")