Laravel 5 необходимо отправить токен со всеми запросами в KendoUI Grid

Я должен отправить _token с каждой сеточной операцией (кроме чтения) в моей сетке кендо, иначе я получаю ошибку несоответствия токена:

...
transport: {
read: {
url: '/core/income-grid/read',
dataType: 'json',
type: 'get'
},
update: {
url: '/core/income-grid/update',
dataType: 'json',
type: 'post',
data: function(data){
data._token = $('#incomeGrid').data('csrf');
return data;
}
},
create: {
url: '/core/income-grid/create',
dataType: 'json',
type: 'post',
data: function(data){
data._token = $('#incomeGrid').data('csrf');
return data;
}
},
destroy: {
url: '/core/income-grid/destroy',
dataType: 'json',
type: 'post',
data: function(data){
data._token = $('#incomeGrid').data('csrf');
return data;
}
}
},
...

Есть ли способ обойти это и при этом иметь защиту, которую обеспечивает токен csrf?

1

Решение

Вы не можете иметь защиту CSRF в Laravel без передачи токена.

Однако, согласно Кендо UI Документация есть метод, называемый transport.parameterMap что позволяет манипулировать параметрами запроса. Это должно позволить вам включить токен в качестве параметра для всех не читаемых запросов в одном месте, вместо того, чтобы указывать его для всех операций по отдельности:

transport: {
...,
parameterMap: function(data, type)
{
if (type !== "read")
data._token = $('#incomeGrid').data('csrf');

return data;
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]