2016-07-21 17 views
0

In meiner Angular2-Anwendung unternehme ich einen HTTP-Anruf mit dem HTTP-Dienst, den Angular2 bietet. Ich sehe, dass die Anfrage, die es sendet, den Header 'Origin' mit einem Wert enthält. Kann mir bitte jemand sagen, ob wir trotzdem verhindern können, dass Angular2 den Origin-Header an die HTTP-Anfrage anhängt?Angular 2: Unterdrücken der Herkunftsüberschrift vom Senden

+1

Ich glaube, der Browser steuert diese Kopfzeile tatsächlich, wenn Sie versuchen, einen HTTP-Aufruf [über Domänen] (https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) durchzuführen, wird diese Kopfzeile hinzugefügt. Die [Angular 2 Dokumente] (https://angular.io/docs/ts/latest/api/http/index/Headers-class.html) zeigen, dass es eine Löschmethode gibt, die Sie aufrufen können. Ich bin mir nur nicht sicher, ob es funktioniert, da der Browser diese Kopfzeile antreibt. –

+0

warum? Es ist für CORS-Anfragen erforderlich und wenn es lokal ist, warum sollte es dich interessieren? – charlietfl

+0

Ich laufe Angular2, in Electron. Also, wann immer ich eine PUT/POST-Anfrage an eine andere Domain mache, sendet sie den 'Origin'-Header mit dem Wert' file: // '. – UnderWood

Antwort

0

Wenn Sie den Servercode nicht ändern können, um von Ihrem aktuellen Ursprung zu erlauben, können Sie die Tatsache nutzen, dass Electron auf node.js läuft. Sie möchten etwas wie Express zu Ihrem node.js/electron setup hinzufügen, das als Proxy zwischen Ihren XMLHttpRequests von Angular 2 und Ihrem Server fungiert. Ihre HTTP-Route ist also (Angular 2 Http) => Express => Server.