Node.js Axios POST to express api发出请求失败

Node.js Axios POST to express api发出请求失败,node.js,react-native,post,axios,Node.js,React Native,Post,Axios,我正在尝试使用axios从我的React原生应用程序中发布帖子。这是我写的express api的帖子。我试图发送的数据是正确的,但我一直收到400错误请求失败 我的React本机代码与axios请求类似: postToDatabase=async=>{ console.logthis.state; API.邮局/餐厅、{ 名称:this.state.name, description:this.state.description, 免费地点:this.state.places\u free,

我正在尝试使用axios从我的React原生应用程序中发布帖子。这是我写的express api的帖子。我试图发送的数据是正确的,但我一直收到400错误请求失败

我的React本机代码与axios请求类似:

postToDatabase=async=>{ console.logthis.state; API.邮局/餐厅、{ 名称:this.state.name, description:this.state.description, 免费地点:this.state.places\u free, 纬度:这个州,纬度, 经度:this.state.longitude, 电话:这个州的电话, 网站:this.state.website } .thenres=>console.logres .catcherr=>console.logerr; } 特快专递是这样的:

app.usebodyParser.urlencoded{extended:false}; app.usebodyParser.json; app.usecors; app.post'/api/restaurants',req,res,next=>{ var错误=[]; if!req.query.name{ 错误。未指定名称; } if!req.query.description{ 错误。未指定说明; } 如果!req.query.places\u空闲{ 错误。未指定说明; } if!req.query.latitude{ 错误。未指定纬度; } if!req.query.longitude{ 错误。未指定经度; } if!req.query.phone{ 错误。未指定电话; } if!req.query.website{ 错误。未指定网站; } 长度{ json{error:errors.join','}; 回来 } 风险值数据={ 名称:req.body.name, 描述:req.body.description, 无位置:请求主体。无位置, 纬度:要求的身体纬度, 经度:req.body.longitude, 电话:req.body.phone, 网站:req.body.website } var sql=插入餐厅名称、描述、免费地点、纬度、经度、电话、网站值?、?、?、?、?、?、?; var params=[data.name,data.description,data.places_free,data.latitude,data.longitude,data.phone,data.website]; db.runsql,参数,错误,结果=>{ 伊弗{ json{error:err.message}; 回来 }否则{ res.json{ 状态:成功, 数据:数据 }; } }; };
我希望有人能看出我哪里弄错了

可能还有其他错误,但我发现的一个错误是,当您应该使用req.body时,您正在使用req.query


req.query用于/api/example?foo=bar之类的查询参数,而req.body用于请求的主体

您是说在错误检查中?我将尝试删除它们,看看它是否有效。是的,因为在您的请求中,不会填充req.query,但req.body将解决问题,其余代码按预期运行,插入发生。将重写错误检查以使用req.body