Mein Skript, das die Arbeit tun soll,Winkel 4 wie
updateTask(task:Task){
const body = task;
var headers = new HttpHeaders();
headers.set('Content-Type', 'application/javascript');
headers.set('If-Match', task.etag);
return this.httpc.put(this.resources+'/'+task.id, body, { headers: headers });
}
Könnte jemand einen Blick darauf werfen und mir sagen, ob ich etwas falsch gemacht habe hier bitte? Habe es vorher noch nie probiert, eigentlich bin ich Anfänger bis eckig: S (Back-end ist nicht meins also kann ich euch nicht teilen: /)
httpc ist ein HttpClient :) Danke deine Zeit und Antworten im Voraus ! ^^.
Edit 1:
Antwort> { "Fehler": "If-Match-Header fehlt oder ist ungültig"}
Edit2:
Anforderungs-Header
PUT /app/data/schedule/tasks/42615 HTTP/1.1
Host: localhost:3000
Connection: keep-alive
Content-Length: 438
Accept: application/json, text/plain, */*
Origin: http://localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
Content-Type: application/json
Referer: http://localhost:3000/portal/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cookie: sid=f5eb691a56bfa7b6db05083023c5f4caf044db47c2f29f644bc80d7bb7dcf1f3
Was ist der Fehler? Was ist 'this.resources'? Was enthält 'Aufgabe'? Ist JavaScript Skript? Es ist schwierig, Ihnen zu helfen, wenn wir nicht mehr Informationen haben. Sie sollten darüber nachdenken, ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) bereitzustellen. Versuchen Sie auch, Ihre Anfrage (in diesem Fall put) mit einem Rest-Client in Ihrem Browser zu testen. Um sicher zu sein, zum Beispiel, wenn die URL gut formatiert ist – JTejedor
Ich habe es bereits ohne Winkel getestet. Ich bin mir nicht sicher, wo ich den If-Match-Part einstellen soll. Dies ist eine Funktion eines Dienstes, aber es spielt immer noch keine Rolle, weil es nicht darum geht, was Aufgabe ist oder ob die URL korrekt ist. Ich könnte eine einfache Zahl setzen, so dass wir sagen könnten, dass die Zahl nicht in Aufgabe enthalten ist, aber das wird das Problem selbst nicht ändern. Ich denke, ich habe den If-Match-Part nicht richtig gesetzt. (task.etag ist eine einfache Etag-Zeichenfolge wie: "3a62ca468a0c07d6040b30a5a263a19a"). Tut mir leid, wenn ich damit nicht klar bin: | Habe gerade kein Q oder ein Beispiel zum Setzen mit eckigen gefunden, wenn Sie das If-Match-Feld setzen müssen. –
Ihr Problem bezieht sich auf 'task.etag', weil der Wert null oder ungültig ist. Überprüfen Sie, ob der Header 'If-Match' gut formatiert ist und einen korrekten Wert hat. – JTejedor