我有一個問題與形式的回調在客戶端處理提交代碼的時候是:ExtJS的+ Django表單提交成功/失敗的問題
[...]
buttons: [{
text: 'submit',
formBind: true,
handler: function(){
formPanel.getForm().submit({
url: this.actionUrl,
waitMsg: TR['formdialog.messages.saving'],
success: function(form, action) {
this.close();
},
failure: function(form, action) {
if(action.failureType == Ext.form.Action.CLIENT_INVALID) {
Ext.Msg.alert('Failure', 'Client invalid');
}else if(action.failureType == Ext.form.Action.CONNECT_FAILURE){
Ext.Msg.alert('Failure', 'Connect failure');
}else if(action.failureType == Ext.form.Action.SERVER_INVALID){
Ext.Msg.alert('Failure', 'Server invalid');
}else{
Ext.Msg.alert('Failure', action.result.msg);
}
}
[...]
在服務器端,該代碼是一樣簡單爲:
response = {'success':True, 'msg': 'Everything went better than expected'}
print response
return HttpResponse(content=json.dumps(response))
使用Firefox 3.6.17進行嘗試時,表單仍然會顯示等待消息,並且不執行任何操作。使用Firebug 1.7.2,可以在網絡選項卡,服務器請求和控制檯(使用runserver運行服務器)中看到我可以看到響應的打印。然而,action.response是空的,在Firebug中我看到一個「Aborted」狀態。如果我在成功和失敗中設置斷點,似乎執行沒有經過任何一個:S(是否還有其他可能的情況?)。
使用Chrome 7.0.517.44進行嘗試時,執行似乎經歷了成功(這是正確的),但action.response也爲空,並且控制檯反映「無法加載資源」(儘管在服務器控制檯中響應已正確打印) 。
更新:用的是HttpFox我可以看到一個NS_ERROR_NET_RESET(以及使用Wireshark我可以看到,RST標誌的數據包由服務器發送),但我沒有這種行爲的原因線索:S 。
您是否找到任何解決方案? –
無:( 我不能找出問題的原因...... – user1035942