繁体   English   中英

发布请求适用于邮递员,但不能通过axios在浏览器中使用

[英]post request works with postman but not in browser, via axios

我正在开发MERN应用。 当我通过邮递员向"/collections"发出投递请求时,得到了预期的响应,并且数据库被新文档更新。 当我在浏览器中发出请求时,代码将运行,但是数据库未获取新文档。 这是我的提交处理程序(reactjs):

handleSubmit = async e => {
    e.preventDefault();
    try {
      await axios.post("/collections", this.state.data);
    } catch (error) {
      console.log(error.message);
    }
    this.props.history.push("/collections");
  }; 

当我提交相关表单时,该代码的最后一行运行,并且我的浏览器返回到"/collections" 该代码不会引发或记录任何错误,但是提交不会创建新文档,正如mongodb Compass所揭示的那样。 同样奇怪的是,此代码是从应用程序的另一部分修改而来的,该部分在浏览器中运行良好:

handleSubmit = async e => {
    e.preventDefault();
    await axios.post("/entries", this.state.data);
    this.props.history.push("/entries");
  };

这很好用,但是发布到"/collections"却没有。 有什么帮助吗?

作为参考,这是节点中的发布路线:

router.post("/", async (req, res) => {
  try {
    const newCollection = await Collection.create(req.body);
    res.send(newCollection);
  } catch (error) {
    res.send(error.message);
  }
});

感谢Pedro Brost,我弄清楚了。 在开发工具中的“网络”下,由于猫鼬模式的设置方式,我收到验证错误。 我不知道开发工具中是否包含“网络”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM