Реализовал следующим образом.
Добавляем в хэдер страницы token.
<head>
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
В роутах прописываем фильтр csrf-ajax.
Route::filter('csrf-ajax', function()
{
if (Session::token() != Request::header('x-csrf-token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
И добавляем его в post-запрос.
Route::post('test', array('before'=>'csrf-ajax', 'as'=>'test', 'uses'=>'FooController@foo'));
в Ajax
...
$.ajax({
url: "test",
data: ...,
type: "POST",
beforeSend: function(request) {
return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'));
},
...
Вроде как работает.