2014-11-02 69 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'}) 

希望這有助於。