vue3 axios 报错 Refused to set unsafe header Cookie 怎么解决
这个错误是因为浏览器默认情况下不允许设置"Cookie"头部,以防止跨站点请求伪造(CSRF)攻击。如果你想在请求中包含cookie,你可以使用withCredentials选项来启用跨域请求的cookie发送。
在Vue3中使用Axios,你可以在创建实例时设置withCredentials选项,如下所示:
import axios from 'axios';
const instance = axios.create({
withCredentials: true // 启用跨域请求的cookie发送
});
// 使用instance发送请求
使用以上代码,你的请求应该可以正常发送cookie了。但请注意,服务器也需要设置响应头Access-Control-Allow-Credentials为true,以允许跨域请求携带cookie。
如果你仍然遇到问题,可能是因为服务器未正确配置CORS(跨域资源共享)。你可以在服务器端设置响应头来允许跨域请求:
// Node.js Express示例
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', 'http://example.com'); // 允许的域名
res.setHeader('Access-Control-Allow-Credentials', 'true'); // 允许携带cookie
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
next();
});
请将http://example.com替换为你的前端应用域名。
希望这些信息能帮助到你解决问题
原文地址: https://www.cveoy.top/t/topic/iMT7 著作权归作者所有。请勿转载和采集!