2017-02-07 3 views
1

ich die Standardmethode verwenden X-CSRF-TOKEN in Angular 2 wie folgt aus der Verwendung in meinem app.module:Get X-CSRF-TOKEN in Angular 2

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

I "primeng" für Datei bin mit -hochladen. Ich brauche das Token von mir selbst wie folgt einzurichten:

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

ich das Token müssen, dass Angular2 für mich generiert hat. Ich weiß nicht, wie ich auf das Token zugreifen soll.

Antwort

1

Sie Ihren Token mit dem folgenden Code

document.cookie 
0

So bekommen kann, ich hatte ein ähnliches Problem, und verwenden, um ein 3rd-Party-JavaScript-Bibliothek, das Problem zu lösen. Es gibt ein paar verschiedene, aber ich habe angular2-cookie verwendet. Sobald Sie den Service in Ihre Komponente injizieren, ist das ziemlich einfach. So sieht mein Code aus:

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