0

我在CodeIgniter 2.2.1中使用CSRF保护Javascript表单中Codeigniter csrf保护错误提交

我想在单击数据表时提交表单。因此,我在javascript事件中创建了表单元素。当表单提交进程运行时,我得到“500内部服务器错误”。

这是我的代码为datatable点击事件;

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(); 
+0

如果您启用了csrf保护,则您还需要发布哈希和令牌对 – charlietfl 2015-02-24 22:00:12

回答

0
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(); 

这个解决问题。