JQuery добавляет токен CSRF ко всем данным запросов $.post()Jquery

Программирование на jquery
Ответить
Anonymous
 JQuery добавляет токен CSRF ко всем данным запросов $.post()

Сообщение Anonymous »

Я работаю над приложением Laravel 5, в котором защита CSRF включена по умолчанию для всех запросов POST. Мне нравится эта дополнительная безопасность, поэтому я пытаюсь с ней работать.

При выполнении простого запроса $.post() я получил сообщение «Illuminate\Session». Ошибка \TokenMismatchException', поскольку в данных POST отсутствовал требуемый ввод формы _token. Вот пример рассматриваемого запроса $.post:

var userID = $("#userID").val();
$.post('/admin/users/delete-user', {id:userID}, function() {
// User deleted
});


Мой токен CSRF хранится в виде метаполя в заголовке, и я могу легко получить к нему доступ, используя:

var csrf_token = $('meta[name="csrf-token"]').attr('content');


Можно ли добавить это к данным json во всех исходящих запросах $.post()? Я пробовал использовать заголовки, но Laravel, похоже, их не распознал -

var csrf_token = $('meta[name="csrf-token"]').attr('content');
alert(csrf_token);
$.ajaxPrefilter(function(options, originalOptions, jqXHR){
if (options['type'].toLowerCase() === "post") {
jqXHR.setRequestHeader('X-CSRFToken', csrf_token);
}
});


Подробнее здесь: https://stackoverflow.com/questions/284 ... uests-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»