2017-11-28 5 views
0

Ich versuche, Element über POST-Methode zu aktualisieren. Egal, was ich mache, ich habe immer noch ein Problem und kann einen Artikel nicht bearbeiten. API benötigt, um Informationen über die Codierung zu erhalten: Content-Type: application/json; charset = UTF-8, also sende ich es innerhalb der Optionen.Kann API mit HttpHeader in ANGULAR4 nicht aktualisieren

editSensor(sensor){ 
const body = {"sensor_UID": sensor.sensor_UID, "sensor_ID": sensor.sensor_ID, "sensor_Name": sensor.sensor_Name}; 
var options = { headers: new HttpHeaders({ 'Content-Type': 'application/json; charset=UTF-8' })}; 
this.http.post('http://172.22.20.112/api/sensor/update', body, options) 
    .subscribe(data => { 
    console.log(data); 
    }, error => { 
    console.log("problem with something"); 
    }); 

}

Ich erhalte

http://172.22.20.112/api/sensor/update konnte nicht geladen werden: Antwort für Preflight hat ungültige HTTP-Statuscode 404

und

OPTIONEN http://172.22.20.112/api/sensor/update 404 (nicht gefunden)

Ich verwende HttpHeaders. Es sollte besser sein als alte Header richtig? Was mache ich hier falsch? Ich habe die letzten 3 Stunden damit verbracht es herauszufinden und es gibt nur ein Problem nach dem anderen.

Ich habe versucht, durch den Fiddler zu bearbeiten und es funktionierte, so ist das Problem auf meiner Seite.

+0

Haben Sie doppelt geprüft, dass es einen Handler in Backend-Service für route/api/sensor/update? –

+0

@NishantShreshth Der Server ist in C# erstellt und wird mit Postman und Fiddler ohne Probleme getestet. Das sollte kein Problem sein. –

+1

Unterstützt Ihre API CORS-Anfragen? Ich erinnere mich an meine .NET-APIs Ich habe einige Nuget-Paket verwendet, um CORS zu aktivieren. Die Anfragen von fiddler/postman werden standardmäßig übergeben, aber nicht von deiner eckigen App. – Alex

Antwort

0

Können Sie versuchen, wie unten

import {Headers} from '@angular/http' 

eine Variable in der Klasse erklären, wie unten

header:Headers 

und in Ihrer Methode

this.header=new Headers(); 
this.header.append("Content-Type",'application/json; charset=UTF-8"); 

this.http.post('http://172.22.20.112/api/sensor/update', body, {headers:this.header}) 
Verwandte Themen