发布请求正在发布到数据库,但不返回响应

时间:2019-05-02 06:00:24

标签: json reactjs mongodb rest post

我正在尝试在数据库中发布拥有狗的用户。在注册表中,当用户按下“提交”按钮时,我会处理输入。 然后将用户发布到数据库。我想使用响应将userId附加到狗(这是一个由ownerId,名称等组成的列表)。 据我所知,用户正在发布到数据库中,但是,这是发生的错误: “ index.js:1446错误:SyntaxError:JSON输入意外结束”

如果我将res.json()更改为res.text(),则响应将是成功的“”。

  handleSubmit() {  
    let user = {}
    user.email = this.state.email
    user.password = this.state.password
    user.firstName = this.state.firstName
    user.lastName = this.state.surName
    user.dog = null;

    console.log(user);
      fetch('http://localhost:3001/rest/registration/', {
        method: 'POST', // or 'PUT'
        body: JSON.stringify(user), // data can be `string` or {object}!
        headers: new Headers({ 
         'Content-Type': 'application/json'
        }),
      })

.then(res =>  res.json())
.then(response => console.log('Success:', JSON.stringify(response)))
.catch(error => console.error('Error:', error));

};

我希望响应是用户在注册表单中输入的附加唯一ID。

1 个答案:

答案 0 :(得分:0)

您的问题似乎已得到解答Here
这是我根据答案做出的更改方式。

fetch('http://localhost:3001/rest/registration/', {
        method: 'POST', // or 'PUT'
        body: JSON.stringify(user), // data can be string or {object}!
        headers: new Headers({ 
         'Content-Type': 'application/json'
        }),
      })
    .then((response) => {
      console.log(response);
      response.json()
        .then((data) => {
          console.log(data); //Change this to what you want do show
        });
     });