首先,我应该说我检查了stackoverflow上与我的主题有一些联系的所有线程,但我仍然无法获得有效的解决方案。所以,现在当我尝试提交表单时,我收到错误:'Forbidden (403). CSRF verification failed. Request aborted....'
。我是这样做的:
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 :(得分: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'})
希望这有帮助。