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

时间:2018-09-18 13:58:13

标签: reactjs post 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);
  }
});

1 个答案:

答案 0 :(得分:0)

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