2017-10-01 3 views
0

anfordern Header übergeben Beim Versuch, eine GET-Anfrage zu machen, bekomme ich einCSRF-Token ist nicht in Laravel/VueJS

401: {error: "Unauthenticated."}

Wenn ich Anfrage überprüfen Header in Chrom Debugger kann ich x-requested-with:XMLHttpRequest sehen, aber ich kann ‚t sehen CRSF-Token

ich benutze Pass, und ich habe CreateFreshApiToken Middleware

In meinem HTML aktiviert ist, ich habe:

<script> 
    window.Laravel = { 
     csrfToken: "{{ csrf_token() }}" 
    }; 
    var csrfToken = "{{csrf_token()}}"; 
</script> 

In meinem VueJS, ich habe:

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { 
    jqXHR.setRequestHeader('X-CSRF-Token', csrfToken); 
}); 

ich noch Abfrage mit JQuery ausführen:

this.$http.post('/api/v1/associations/create', this.form) 
.then(...) 

Was soll ich tun, um es zu beheben?

+0

bitte versuchen Sie es vorbei das Token explizit und stellen Sie sicher, dass es mit Token funktioniert. Wenn Sie das bestätigen können, können wir das Problem auf das Frontend beschränken. – kawadhiya21

+0

Ich weiß nicht, wie das geht :( –

Antwort

0

Die Unauthenticated bedeutet, dass der Benutzer nicht angemeldet ist, und es bezieht sich nicht auf csrf_token.

0

landete ich this.$http.post durch axios ersetzt auf und in boostrap.js, ich habe gerade unkommentiert:

window.axios.defaults.headers.common = { 
    'X-CSRF-TOKEN': window.Laravel.csrfToken, 
    'X-Requested-With': 'XMLHttpRequest' 
}; 
0

Haben Sie

versucht
var token = '{{ Session::token() }}'; 
Verwandte Themen