使用ReactJS前端将数据插入Node.js和MongoDB后端时出现问题

时间:2019-06-07 15:27:30

标签: javascript node.js reactjs mongodb

我有一个在mongodb上的nodejs上运行的API,我正在尝试从reactjs前端插入数据。 这些数据来自用户的令牌和用户感兴趣的书的ID

型号:

let BookInterested = new Schema({
  book: {
    type: Schema.Types.ObjectId,
    ref: "Book",
    required: true
  },
  user: { type: Schema.Types.ObjectId, ref: "User", required: true },
  timestamp: { type: Date, default: Date.now, required: true },
  completed: { type: Boolean, default: false }

});

module.exports = mongoose.model("BookInterested", BookInterested);

用户和图书来自其他模型,分别是图书和用户。

我有一个带有简单发布方法的路线:

路线:


router.post(
  "/book/:bookId/interesteds",
  auth.authenticate(),
  (req, res) => {
    meService.createInterested(req, res);
  }
);

服务具有路线背后的所有逻辑。

meService:

createInterested: function(req, res) {
    let interested = {
      user: req.user.id, //User Id from token
      book: req.params.bookId, //book Id from route

    };

    let record = new BookInterested(interested);

    record.save(err => {
      if (err) return helper.error(res, "Error while creating " + err);

      if (!record) return helper.error(res, "Record not found");



      return res.json({ success: true });
    });
  },

在我的前端,它是在reactjs中,我具有获取书籍和用户的功能

 componentWillMount() {
    this.retrieveBooks(this.props.params.id);
    this.retrieveUser();
  }

with正常工作,我现在的问题是我需要一个按钮,用户单击该按钮时,它会表明他或她对该书感兴趣,就像这样:

          <Button

              onClick={() => this.setState({ open: !open, disabled: true })}
              className="btn btn-big btn-tenho-interesse"
              aria-expanded={open}
              disabled={this.state.disabled}
            >
              Im Interested
            </Button>

我创建了handleclick函数,但是它不起作用

handleclick:


handleClick = (req, res) => {
    console.log(req);
    Request.post(
      `/me/books/${this.props.params.id}/interesteds`,
      req,
      res,
      res => {
        if (res.success) {
          Alert.success(
            "success"
          );
        } else
          Alert.error(
            "error"
          );
      }
    );
  };

我遇到各种错误,例如“ TypeError:将圆形结构转换为JSON”和“ res.json不是函数”等等。

你知道我该怎么做吗?

谢谢。

0 个答案:

没有答案