vue中axios请求request header field content-type is not allowed by access-con
时间: 2023-12-10 11:42:55 浏览: 391
这个错误通常是因为跨域请求时,请求头中的Content-Type被服务端拦截了。可以尝试在请求头中添加`Content-Type`字段,值为`application/x-www-form-urlencoded`或者`multipart/form-data`。
如果还是无法解决问题,可以考虑在服务端设置允许跨域请求的响应头。具体可以查看下面这个示例:
```
// Node.js Express 代码示例
const express = require('express');
const app = express();
// 设置允许跨域访问该服务.
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Content-Type");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
next();
});
app.get('/test', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
```
以上示例中设置了允许跨域访问的响应头,其中`Access-Control-Allow-Origin`表示允许跨域访问的域名,`*`表示允许任意域名访问;`Access-Control-Allow-Headers`表示允许跨域请求的请求头字段,`Content-Type`表示允许发送`Content-Type`请求头;`Access-Control-Allow-Methods`表示允许跨域请求的请求方法。
阅读全文