我正在向我的服务器发出一个axios post请求。客户端在localhost上运行。为了实现这一点,我使用了ngrok。我通过在axios请求中添加特定的头来解决CORS错误。但是,我在req. body上没有看到任何数据。我在看所有类似的职位,只是不明白为什么我不发送任何数据。任何帮助都将是非常感激的!!!
axios请求:
...
const posting = async () => {
await axios.post('http://a410-xxx-c455-d1e8-1c8a-fa19.ngrok-free.app/someRequest',
{ title: 'world' }, {
headers: {
"Content-type": "application/x-www-form-urlencoded"
}}
);
...
}
index.js
const app = require ('./app');
app.use(bodyParser.json());
app.js
routes(app);
routes.js
app.use(router.post('/someRequest', (req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
console.log(req.body)
}))
2条答案
按热度按时间clj7thdc1#
您声称正在发送表单URL编码数据。
但是,您将对象传递给Axios,因此它将JSON编码数据。
而您拥有的唯一的正文解析中间件只支持JSON编码数据
您需要:
都吻合
由于您声称要发送URL编码数据,JSON解析器不会触发。
Axios会自动设置正确的Content-Type头,如果你不覆盖它。
省略
headers
属性。mwkjh3gx2#
这只是一个临时的解决方案,但如果它帮助任何人:我仍然不能解决它在服务器端,所以我现在添加一个标题在我的axios请求
在服务器端,我添加到我的路由
就像这样:
现在我得到的数据和没有cors错误.