我有一个包含对象(人)的数组,如下所示:
[ {id: 1, name: Tony},
{id: 2, name: John} ...]
我将新行添加到数据库表事件并获取ID值。此后,我需要向另一个表 personToEvent 中添加新行,该表的 event 中的id值和数组 person 中的id值。数据库表 personToEvent 应该如下所示:
id | eventid | personid
1 | 120 | 1
2 | 120 | 2
但是实际上,在向事件添加新行之后,不会调用获取。我不知道为什么
在这里,我向事件添加新行:
addEventToDatabase() {
fetch(`${Config.baseUrl}/event/add`, {
method: 'PUT',
body: JSON.stringify(this.state.newEvent),
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then((response) => {
if (response.status >= 400) {
throw new Error('Bad response from server');
}
return response.json();
})
.then(returnedData => {
if (this.state.person.length !== 0) {
this.addPersonToEvent(returnedData.id);
}
});
}
在这里,我尝试将新行添加到 personToEvent :
addPersonToEvent(lastEventId) {
this.state.person.map(item => (
fetch(`${Config.baseUrl}/person-event/add/${lastEventId}/${item.id}`, {
method: 'PUT'
})
.then((response) => {
if (response.status >= 400) {
throw new Error('Bad response from server');
}
return response.json();
})
));
}
新行未添加到数据库表中。控制台中没有错误。如何正确地向 personToEvent 添加行?
通常,我尝试实现多对多数据模型
答案 0 :(得分:0)
当我单击按钮时调用 addEventToDatabase(),我同时调用重新加载页面:
location.reload();
所以,我对此进行了评论,问题就消失了