无法在reactjs中发布数据(显示400错误请求)

时间:2020-06-22 07:36:26

标签: reactjs

我的目标是发送数据,但显示400错误请求,我不知道我要去哪里。我知道这是一件小事,但无法找出我要去哪里。

这是API格式:

{
  "id": "string",
  "class": "string",
  "count": 0,
  "students": [
    {
      "studentsId": "string",
    }
  ]
}

我这样写:

let obj = {
            "id": this.state.id,
            "class": this.state.sclass,
            "count": this.state.classStud.length,
            "studentsId": this.state.classStud.map(stud=> stud.id)
        }
axios.post(`/api/Students`, obj, {
            headers: { 'Content-Type': 'application/json' }
        })
            .then(res => {
                console.log(res)
                console.log(res.data);
            })
            .catch((err) => {
                console.log(err)
            })

classStud JSON数据将采用以下格式:

email: "abc@gmail.com"
class: null
id: "45wer154587jh87"
name: "AB C"

谁能帮我解决我的问题?

2 个答案:

答案 0 :(得分:0)

您的请求数据与API格式不一致,这就是为什么您获得400错误请求的原因。

您需要以对象数组的形式向学生发送数据,每个对象的键为studentsId。您可以像下面那样更改数据的准备方式

  let obj = {
        "id": this.state.id,
        "class": this.state.name,
        "count": this.state.classStud.length,
        "students": this.state.classStud.map(stud=> ({stundentsId: stud.id}))
    }

答案 1 :(得分:0)

尝试更改此行

process.on('unhandledRejection', (reason, p) => {
  console.log('Unhandled Rejection at: Promise', p, 'reason:', reason.stack);
  // application specific logging, throwing an error, or other logic here
});

对此

   "studentsId": this.state.classStud.map(stud=> stud.id)