2016-12-14 1 views
0

Ich setze Header für Angular 2 App. Hier ist mein Code:Wie setze ich Header in Angular2, indem ich BrowserXhr erweitere?

@Injectable() 
    export class browserXhr extends BrowserXhr { 
     constructor() {} 
     build(): any { 
     let xhr:XMLHttpRequest = super.build(); 
     xhr.setRequestHeader('X-Custom-Header', 'value'); 
     return <any>(xhr); 
     } 
    } 

Wie ich es laufen Fehler

enter image description here

+0

Können Sie fügen Sie bitte den Fehler, den Sie bekommen zur Frage. – M4R1KU

+0

es gibt Fehler bei -> xhr.setRequestHeader ('X-Custom-Header', 'Wert'); sagt nicht in der Lage zu setzen. – Teekam

Antwort

1

Ohne Sie gibt den Fehler zu veröffentlichen, es ist nur erraten Arbeit, was falsch läuft ist. Aber wahrscheinlich sollten Sie einen super() Aufruf innerhalb des Konstruktors hinzufügen. Ein weiterer Punkt von Interesse ist der fast gleiche Name der Klasse, neben der Hauptstadt. Es ist gängige Praxis, Ihre Klassennamen haben in PascalCase:

@Injectable() 
export class MyBrowserXhr extends BrowserXhr { 
     constructor() { 
     super(); //<-- here 
     } 

     build(): XMLHttpRequest { 
     let xhr:XMLHttpRequest = <XMLHttpRequest>super.build(); 
     xhr.open(method, url, async?, user?, password?); //fill in the correct details 
     xhr.setRequestHeader('X-Custom-Header', 'value'); 
     return xhr; 
     } 
} 

Nachdem Sie Ihre Fehler geschrieben, es ist offensichtlich, was Sie zuerst tun müssen. Bevor Sie die Request-Header Einstellung, müssen Sie die Anfrage öffnen mit der open Methode:

xhr.open(method, url, async?, user?, password?); 

Nachdem Sie diese Methode aufrufen, können Sie Ihre Anfrage-Header setzen

+0

Ich habe obige Methode angewendet, aber es gibt Fehler, ich habe es auf Frageteil gepostet. – Teekam

Verwandte Themen