2017-02-07 5 views
1

にX-CSRF-トークンを取得、私は私のapp.moduleでこのように角度2でX-CSRF-TOKENを使用する標準的な方法を使用します。角度2

provide: XSRFStrategy, useValue: new CookieXSRFStrategy('CSRF-TOKEN', 'X-CSRF-TOKEN') 

を、私は、ファイルのための "primeng" を使用しています-upload。

private onBeforeSend(event) { 
    event.xhr.setRequestHeader("X-CSRF-TOKEN", tokenThatINeed); 
} 

私はAngular2が生成したトークンが必要です。私はこのようにトークンを設定する必要があります。私はトークンにアクセスする方法を知らない。

答えて

0

であなたのトークンを取得することができますだから、私は同様の問題があったが、問題を解決するためのJavaScriptライブラリサードパーティ製を使用していました。いくつかのものがありますが、私はangular2-cookieを使用しました。サービスをコンポーネントに注入すると、そのコンポーネントはかなり簡単に処理されます。私のコードは次のようになりました:

import {CookieService} from "angular2-cookie/core"; 

@Component({ 
    selector: 'fileUpload', 
    templateUrl: 'app/components/files/fileUpload.html', 
    providers: [CookieService] 

}) 

export class FileUploadComponent { 
    uploadUrl:string; 

    constructor(private propertyService:PropertyService, 
       private cookieService:CookieService){ 

     this.uploadUrl = propertyService.getProperties().server_location + "/files/upload" 
    } 

    onBeforeSend(event:any){ 
     event.xhr.open("POST", this.uploadUrl, true); 
     event.xhr.setRequestHeader("X-XSRF-TOKEN", this.cookieService.get("XSRF-TOKEN")); 
    } 
}