Ошибка защиты Codeigniter csrf при отправке формы Javascript

Я использую защиту CSRF в CodeIgniter 2.2.1.

Я хочу сформировать процесс отправки, когда я нажимаю datatable. Поэтому я создаю элемент формы в javascript в событии клика. Когда запускается процесс отправки формы, я получаю «500 Internal Server Error».

Вот мой код для события щелчка с данными;

var form = $('<form></form>', {
                    id: "tdClickForm",
                    name: "tdClickForm",
                    method: 'post',
                    action: "<?= base_url(); ?>files/folderClick"
                });

                var cellInput = document.createElement("input");
                cellInput.setAttribute("name", "currentCell");
                cellInput.setAttribute("value", 1);;

                form.append(cellInput);
                form.appendTo('body').submit();

person kbrk    schedule 24.02.2015    source источник
comment
если вы включили защиту csrf, вам также необходимо опубликовать пару хэшей и токенов   -  person charlietfl    schedule 25.02.2015


Ответы (1)


var csrf_test_name = document.createElement("input");
                csrf_test_name .setAttribute("type", "hidden");
                csrf_test_name .setAttribute("name", "csrf_test_name");
                csrf_test_name .setAttribute("id", "csrf_test_name");
                csrf_test_name .setAttribute("value", $.cookie('csrf_cookie_name'));

form.append(csrf_test_name);
form.appendTo('body').submit();

это решить проблему.

person kbrk    schedule 24.02.2015