Express+MongoDB POST接口已更新数据库但无法返回200状态码
解决Express POST请求挂起无法返回200状态码的问题
问题出在你成功保存文档后的响应处理环节:你仅调用了res.status(200)设置状态码,但没有发送实际的响应内容,Express会持续等待你结束响应流程,导致请求一直处于挂起状态。
修改后的代码如下:
exports.site_create = async (req, res) => { const site = new Site({ name: req.body.name, location: req.body.location, well_type: req.body.well_type, }) try { const siteToSave = await site.save() // 发送响应以结束请求 res.status(200).json(siteToSave) console.log(siteToSave) } catch(error) { res.status(400).json({message: error.message}) } };
你可以根据需求选择响应内容:既可以返回创建完成的文档(如上述代码用.json(siteToSave)),也可以返回简单的成功提示,比如res.status(200).send('站点创建成功')。只要调用了发送响应的方法,请求就会正常结束并返回200状态码。
内容的提问来源于stack exchange,提问作者user22002675
相关产品推荐
相关产品推荐

