jQuery adiciona token CSRF a todos os dados das solicitações $ .post ()
Estou trabalhando em um aplicativo Laravel 5 que possui proteção CSRF ativada por padrão para todas as solicitações POST. Eu gosto dessa segurança adicional, então estou tentando trabalhar com ela.
Ao fazer uma simples$.post()
solicitação de recebimento de um'Illuminate\Session\TokenMismatchException'
erro porque a entrada de formulário necessária_token
estava faltando nos dados do POST. Aqui está um exemplo de uma solicitação $ .post em questão:
var userID = $("#userID").val();
$.post('/admin/users/delete-user', {id:userID}, function() {
// User deleted
});
Eu tenho meu token CSRF armazenado como um campo meta no meu cabeçalho e posso acessá-lo facilmente usando:
var csrf_token = $('meta[name="csrf-token"]').attr('content');
É possível anexar isso aos dados json em todas as saídas$.post()
solicitações de? Tentei usar cabeçalhos, mas o Laravel não os reconheceu -
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);
}
});