簡體   English   中英

如何通過擴展BrowserXhr在Angular2中設置標題?

[英]How to set headers in Angular2 by extending BrowserXhr?

我正在為Angular 2應用設置標題。 這是我的代碼:

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

當我運行它給錯誤

在此處輸入圖片說明

如果您沒有發布錯誤,則只能猜測出問題所在。 但是可能您應該在構造函數中添加一個super()調用。 另一個有趣的地方是,除了首都之外,班級的名稱幾乎相同。 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;
      }
 }

發布錯誤后,很明顯,您首先要做的是。 在設置請求標頭之前,您必須使用open方法打開請求:

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

調用此方法后,您將可以設置請求標頭

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM