Не удалось заставить axios.put реагировать на сервер node.js - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть реагирующий компонент, где я пытаюсь изменить статус объекта.Однако я терплю неудачу и не понял, нахожусь ли я на правильном пути.

Это сервер nodeJS с экспрессом и мангустом.

Конечная сторона Frond:

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

Когда я отправляю форму, я хочу изменить статус определенных людей из массива.

Что яделать неправильно?

...