2016-08-04 145 views
0

我使用AJAX POST請求,並與CSRF-TOKEN發送 - 我的本地服務器上效果不錯,但在我的IIS SERV TokenMismatchException in VerifyCsrfToken.php line 67:Laravel 5.2 | CSRF令牌不匹配

這是代碼:

   $.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() }}' 
        } 
       }); 

在控制檯我可以看到請求:X-CSRF-TOKEN:w3liodqf8bdOvWH9uVTzLHVVsE0L1uIlCpnOyVVS

什麼會導致此問題?

+0

你爲什麼不嘗試在你的視圖標記中使用變量''{{Session :: token()}}''並且用'_token:token'傳遞數據而不使用任何標題。 –

+0

問題也可以放在會話存儲位置[更多](https://laravel.com/docs/5.2/session) –

回答

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

嘗試設置它的 「beforeSend」 事件

0

的問題是在我的會議。我清理了所有會話文件,清理了緩存並使用php artisan key:generate。之後 - 工作很好。