Javascript post请求需要发送哪些标头

Javascript post请求需要发送哪些标头,javascript,node.js,express,express-validator,Javascript,Node.js,Express,Express Validator,我正在使用postman测试服务器,一切正常,从某种意义上说,我得到了答案: 但是,如果我从浏览器向同一地址发出post请求,则会抛出一个错误,并且答案未定义 邮递员有以下标题: 如何正确发送post请求以获得响应 主文件(App.js): const express=require('express'); const config=require('config'); const mongoose=require('mongoose'); const cors=需要(“cors”); 常

我正在使用postman测试服务器,一切正常,从某种意义上说,我得到了答案:

但是,如果我从浏览器向同一地址发出post请求,则会抛出一个错误,并且答案未定义

邮递员有以下标题:

如何正确发送post请求以获得响应

主文件(App.js):

const express=require('express');
const config=require('config');
const mongoose=require('mongoose');
const cors=需要(“cors”);
常量app=express();
常数常数={
来源:config.get('CORS.whiteList'),
optionsSuccessStatus:config.get('CORS.optionsSuccessStatus')
}
应用程序使用(cors(corsOptions));
app.use('/api/auth',require('./routes/auth.routes');
const PORT=config.get('PORT')| | 5000;
异步函数startServer(){
试一试{
等待mongoose.connect(config.get('mongoUri'){
useNewUrlParser:true,
useUnifiedTopology:正确,
useCreateIndex:true
});
app.listen(端口,()=>console.log(`app已在端口:${PORT}`)上启动);
}捕捉(错误){
log(`Server error:${err.message}`);
过程。退出(1);
}
}
startServer();
和路由器:

const{body,validationResult}=require('express-validator');
const User=require('../models/User');
const config=require('config');
const bodyParser=require('body-parser');
const router=express.router();
const jsonParser=bodyParser.json();
const urlencodedParser=bodyParser.urlencoded({extended:false});
router.post(“/login”,
urlencodedParser,[body('email'、'href\\\\\\\\\\\\\\\\\\\\\\\\\'email').isEmail(),
异步(请求、恢复)=>{
试一试{
常量错误=验证结果(req);
如果(!errors.isEmpty()){
控制台日志(3)
return wait res.status(400).json({
错误:errors.array()[0].msg,
信息:'
})
}
const email=req;
控制台日志(电子邮件)
const candidate=wait User.findOne({email:email});
控制台日志(3)
如果(候选人){
return wait res.status(400).json({
msg:'tаааааааааааааааа1072
});
}
const user=新用户({
电子邮件
});
等待user.save();
}捕捉(错误){
console.log(错误)
return wait res.status(500).json({
msg:',
err:err.stack
});
}
}
);
module.exports=路由器;
据我所知,问题出在expressValidator中

UPD


我试图使用formData,但它不起作用


您希望使用x-www-form-encoded,但您正在发送json

你应该这样做

const onSubmit = () => {
       

fetch(url, 
     { method: 'post', 
         headers: {
             { /* depending on server, this may not be needed */}
            'Content-Type': 'application/x-www-form-urlencoded'
       },
      body: new URLSearchParams({ 'email': 'daw' });

}


}

关联-。好吧,你的标题与邮递员的标题明显不同。@RobertHarvey,是的,但邮递员中的大多数标题只是为了让它发挥作用,正如邮递员本身所写的那样。也许我不明白什么。请帮我弄清楚,如果网站没有看到它期望的标题,它将拒绝请求。“我尝试使用formData,但它不起作用。”这可能是因为在后一个示例中,您试图访问一个完全不同的端点。请检查我的问题。我更新了它。从postman u发送x-www-form-url内容类型,但在获取中使用的是application/json。我的答案有什么问题,你试过了吗?我添加了一张截图。要使用URLSearchParams