Ich versuche, eine POST-Operation für eine JSON-Datei durchzuführen, die von einem json-Server im Knoten bedient wird. Ich erhalte die folgenden 500-Fehler beim Versuch, die POST-Operation auszuführen:Ich kann keine POST-Anforderung mit Abruf in reaktivem nativen ausführen
„Typeerror: kann Eigenschaft‚id‘undefinierter bei Function.createId lesen“
Die nach der Operation ist wie folgt:
pushState =() => {
var update = {
"a": 1,
"b": 2
};
return fetch(url, {
mode: 'cors',
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(update)
})
.then((response) => {
console.log(response);
response.text();
})
.then((responseData) => {
console.log("Response:",responseData);
}).catch((error) => {
console.log(error);
})
.done();
}
Mache ich die POST-Anfrage korrekt?
Edit: Nach Asynchron-Zugabe und erwarte ich bin immer noch die gleichen Fehler:
pushState = async() => {
var update = {
"a": 1,
"b": 2
};
var result = await fetch(url, {
mode: 'cors',
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(update)
})
.then((response) => {
console.log(response);
return response;
})
.catch((error) => {
console.log(error);
});
return result;
}
Ich denke, es könnte ein Serverproblem sein, versuchen Sie, eine ID mit Update zu übergeben? 'var update = {id: 1, a: 1, b: 2};' –
Hinzufügen und ID-Feld funktioniert! Gibt es einen Grund, warum das ID-Feld benötigt wird? Was passiert, wenn die API, die ich anrufe, kein ID-Feld oder ein anders benanntes ID-Feld hat? –
Ich glaube, es ist nur, weil Sie json-server verwenden und die Art und Weise, die eingerichtet ist, nach einer ID zu suchen, weshalb es sagte "TypeError: Kann Eigenschaft 'id' von undefined bei Function.createId nicht lesen". Nicht alle APIs benötigen IDs, aber es ist eine gute Praxis, IDs zu verwenden, um Daten besser zu verfolgen. –