2017-02-07 38 views
1

我用我的app.module使用角2 X-CSRF-TOKEN這樣的標準方式:我使用 「primeng」 文件獲取X-CSRF-TOKEN在角2

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

-upload。我需要像這樣設置我自己的令牌:

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

我需要Angular2爲我生成的令牌。我不知道如何訪問令牌。

回答

1

你能得到你的令牌下面的代碼

document.cookie 
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")); 
    } 
}