我的目标是发送数据,但显示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"
谁能帮我解决我的问题?
答案 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)