2015-10-03 1 views
2

Поиск на целый день и не нашел ответа Я запускаю свой сервер с php artisan serve -host:0.0.0.0, чтобы я мог общаться с моим сервером удаленно. Когда я тестирую свой локальный хост, все работает нормально, но когда я пытаюсь отправить запрос на отправку с удаленного устройства, он отвечает с помощью TokenMismatchException. debuged этот Alittle Furter и шить, что маркер я посылаю черезLaravel 5 несоответствие токена на сообщение с удаленного соединения

<meta name="_token" id="token-input" content="{!! csrf_token() !!}"/> 
function getToken(){ 
    return $('#token-input').attr('content'); 
} 

//angular ajax 
$http.post('/store', {id: 1, 
      '_token': getToken()}). 
      then(function (response) { 
       ... 
      }, 
      function (response) { 
       $('body').html(response.data); 
      }); 

остается прежним, а моя сессия лексема постоянно меняется. тестировал путем изменения способа ручки VerifyCsrfToken.php бросить

$token1 = $request->input('_token') ?: $request->header('X-CSRF-TOKEN'); 
throw new \App\Exceptions\SaleSiteException('token= ' . $token1 . '\nsession_token= ' . $request->session()->token()); 

Я использую драйвер «файлы». попытался изменить мои права на папку framework/sessions, но не повезло. между прочим, отправка просьба работает хорошо.

ответ

0
<meta name="csrf-token" content="{{ csrf_token() }}" /> 

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 

Документация может быть найдена here.

Смежные вопросы