2014-11-02 49 views
0

首先,我应该说我检查了所有线程在stackoverflow有一些连接到我的主题,但我仍然无法得到一个工作解决方案。所以,现在当我尝试提交表单时,我收到错误:'Forbidden (403). CSRF verification failed. Request aborted....'。我这样做:ExtJS + Django。如何使用POST方法提交表单

var frm=Ext.create('Ext.form.Panel',{ 
    method:'POST', 
    standardSubmit:false, 
    items:[{ 
     xtype:'textarea', 
     name:'sourcecode', 
     value:sourcecode 
    }] 
}) 

frm.getForm().submit({url:'/myapp/saveSourceCode'}) 

其实,我不知道如何发送CSRF cookie。所有建议,我见过都没有帮助。所以,我需要最简单的工作演示,它将以最简单的方式演示如何使用POST方法发送表单。提前致谢!

回答

0

这里的问题来自CSRF cooki

你可以试试这个(从WC3 school docs

例(未测试):

function getCookie(cname) { 
var name = cname + "="; 
var ca = document.cookie.split(';'); 
for(var i=0; i<ca.length; i++) { 
    var c = ca[i]; 
    while (c.charAt(0)==' ') c = c.substring(1); 
    if (c.indexOf(name) != -1) return c.substring(name.length,c.length); 
} 
return ""; 
} 


var csrf = getcookie('csrftoken') 

var frm=Ext.create('Ext.form.Panel',{ 
method:'POST', 
standardSubmit:false, 
items:[{ 
    csrfmiddlewaretoken:csrf, 
    xtype:'textarea', 
    name:'sourcecode', 
    value:sourcecode 
}] 
}) 

frm.getForm().submit({url:'/myapp/saveSourceCode'}) 

希望这有助于。