Laravelajax-запросы и VerifyCsrfToken

Если в бекенде сайта используется фреймворк Laravel и просто так взять и отправить ajax-ом POST-запрос, то ничего не выйдет. Вернее, выйдет, но ошибка наподобие такой:

1
TokenMismatchException in VerifyCsrfToken.php line 46:

Исправить такое очень просто, нужно передать недостающий токен. Чтобы не возиться с токеном в каждом запросе, просто настроим его глобально. Добавим в основной шаблон мета-тег с токеном.

1
2
3
4
5
6
7
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <meta name="viewport" content="width=device-width, initial-scale=1">

И установим токен в заголовки по умолчанию.

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

jQueryAjax

Не прошло и полгода, как технология ajax проникла в мою деятельность :) Здесь, в частности, она применилась к отправке комментариев (не без участия jQuery).

Лучше, конечно, поменьше слов и побольше кода, но читать дальше не советую, так как вряд-ли кто-то увидит здесь что-нибудь новое

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
jQuery(document).ready(function() {
    jQuery('#submit').click(function() {
        var dataForm = jQuery('#CommentForm').serialize();
        jQuery.ajax({
            url: '/index/addcomment',
            data: dataForm,
            type: 'POST',
            success: function() {
                jQuery('#comments').load('/topic.php #comments > *');
            }
        });
        return false;
    });
});
jQuery

Литературакниженция по jQuery

Приобрёл на неделе книженцию по jQuery. А именно → "Изучаем jQuery" Эрл Каслдайн, Крэйг Шарки. Так что стану в обозримом будущем настоящим ниндзя вэб-разработки. Так, по крайней мере, обещают авторы (или кто-то ещё, причастный к книге) сразу с обложки :)

За настоящего ниндзя не скажу ничего, но кое-какие штуки начинаю применять здесь же, в этом блоге.

Книга рассчитана на самый начальный уровень, всё предельно разжёвано, но хуже от этого она не становится.