2016-08-04 38 views
0

Ich bin mit AJAX Post-Anforderung und Senden mit CSRF-TOKEN - auf meinem lokalen Server funktionierten gut, aber auf meinem IIS SERV TokenMismatchException in VerifyCsrfToken.php line 67:Laravel 5.2 | CSRF-Token Mismatch

Dies ist der Code:

   $.ajax({ 
        url  : '{{ route('dashboard.ajax.update') }}', 
        method : 'POST', 
        data : { 
         table  : 'categories', 
         data  : { 
          order: $count 
         }, 
         conditions : { 
          id: $id 
         } 
        }, 
        dataType: 'JSON', 
        headers : { 
         "X-CSRF-TOKEN": '{{ csrf_token() }}' 
        } 
       }); 

In der Konsole Ich kann die Anfrage sehen mit: X-CSRF-TOKEN:w3liodqf8bdOvWH9uVTzLHVVsE0L1uIlCpnOyVVS

Was kann dieses Problem verursachen?

+0

Warum versuchen Sie nicht, Variable in Ihrer Sicht zu machen token = ''{{Session :: token()}}' 'und übergeben Sie Daten mit' _token: token' ohne irgendwelche Header zu verwenden. –

+0

Das Problem kann auch sein, wo Ihre Sitzung gespeichert ist [Mehr] (https://laravel.com/docs/5.2/session) –

Antwort

0
$.ajax({ 
     type: 'POST', 
     url: 'stringUrl', 
     beforeSend: function (xhr) { 
      xhr.setRequestHeader('X-CSRF-TOKEN', '{{ csrf_token() }}'); 
     }, 
     data: { 
      'id': $id // etc.. 
     }, 
     cache: false, 
     error: function (xhr, type, exception) { 
      console.log("ajax error response type " + type); 
     } 
    }); 

Versuchen, es auf "beforeSend" Ereignis

0

Das Problem in meinen Sitzungen war. Ich habe alle meine Session-Dateien gereinigt, den Cache gereinigt und php artisan key:generate verwendet. Danach - Arbeit ziemlich gut.