无法使axios.put从对node.js服务器作出反应

时间:2019-04-09 16:54:25

标签: node.js reactjs express axios

我有react组件,试图更改对象的状态。但是我失败了,不知道我是否走对了路。

这是具有express和mongoose的nodeJS服务器。

前端侧:

handleSubmit2(event){
  const body= {status: this.state.newstatus}
  event.preventDefault()
  axios.put('http://127.0.0.1:3010/api/users/:user_id',{body})

  alert("Status Changed")
}

在渲染中:

        {hits.map(item => <li key={item._id}> {item.firstname} {item.lastname} <br />  <strong> {item.status}</strong> 
          <form autoComplete="off" className="new_status" onSubmit={this.handleSubmit2}>
        <FormControl>{this.loadoptions()}</FormControl>
        <input type="submit" value="Submit" className="input"/>
        <br />
          </form>

我的后端:

    router.put( '/:user_id', ( req, res ) => {
        console.log(req.body.body.status)
        User.findByIdAndUpdate(req.params.user_id, req.body.body.status)
        .then(data => {
           if(follower)
           res.send(data);
           else
           res.status(404).send("Follower not found");
       })
       .catch (e => res.status(400).send("Follower not exist"));
   });

UserSchema:


const userSchema = new mongoose.Schema ({
    firstname: String,
    lastname: String,
    status: String
});

const User = mongoose.model('User', userSchema);

链接到git:

https://github.com/fmpro12/users_add

当我提交表单时,我想从数组中更改特定人员的状态。

我做错了什么?

0 个答案:

没有答案