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

這個解決問題。