Beginnend mit [email protected]
ist das @angular/http
Modul mit allen seinen Klassen veraltet. Jetzt sollte angular/common/http
verwendet werden. Read here für mehr.
Sie können es wie folgt tun:
import {Http, Headers, RequestOptions} from '@angular/http';
export class AppComponent {
constructor(private http: Http) {
const headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('authentication', `hello`);
const options = new RequestOptions({headers: headers});
this.http.post(
"http://localhost:3000/contacts",
JSON.stringify({id: 4, name: 'some'}),
options
).subscribe();
Sie haben, um sicherzustellen, dass Sie die richtigen Objekte aus dem @angular/http
importieren:
import {Http, Headers, RequestOptions} from '@angular/http';
Wenn Sie noch nicht sehen, Ihre Header, ist es auch möglich, dass der Server, den Sie verwenden, sie nicht erlaubt. Wenn ein Browser eine Anforderung an den anderen Ursprung sendet, sendet er access-control-headers-request Header, um zu überprüfen, ob der Server benutzerdefinierten Header zulässt. Wenn Ihr Server nicht konfiguriert ist, um benutzerdefinierte Header zuzulassen, werden diese in den Folgeanforderungen nicht angezeigt.
Prüfung [diese] (https://stackoverflow.com/a/41133924/2545680) –
@Maximus gerade versucht, und es funktioniert nicht. :/ –
Ich habe ein Beispiel in meiner Antwort, nur überprüft, funktioniert es für mich, ich benutze Angular v4.x –