Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax ExtJS+;django表单提交成功/失败问题_Ajax_Django_Forms_Extjs - Fatal编程技术网

Ajax ExtJS+;django表单提交成功/失败问题

Ajax ExtJS+;django表单提交成功/失败问题,ajax,django,forms,extjs,Ajax,Django,Forms,Extjs,我在处理表单提交的回调时遇到问题,客户端的代码是: [...] buttons: [{ text: 'submit', formBind: true, handler: function(){ formPanel.getForm().submit({ url: this.actionUrl, waitMsg: TR['formdialog.messages.saving'], success: fun

我在处理表单提交的回调时遇到问题,客户端的代码是:

[...]
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,可以在net选项卡、向服务器提交的请求和控制台(使用runserver运行服务器)中看到响应的打印。但是,action.response是空的,在Firebug中我看到一个“中止”状态。如果我在success和failure中设置断点,那么执行似乎不会通过这两个断点:S(还有其他可能的情况吗?)

当尝试使用Chrome 7.0.517.44时,执行似乎成功(这是正确的),但action.response也是空的,并且控制台反映“加载资源失败”(尽管在服务器控制台中正确打印了响应)


更新:通过HttpFox,我可以看到NS_ERROR_NET_RESET(以及wireshark,我可以看到服务器发送带有RST标志的数据包),但我不知道这种行为的原因:S.

尝试在视图函数中设置mimetype=“application/json”

尝试设置mimetype=“application/json”在视图中,使用return-HttpResponse(content=json.dumps(response),mimetype=“application/json”)尝试函数

,结果相同。另外,我忘了说,在wireshark中,我看到带有RST标志的tcp数据包尝试了返回HttpResponse(content=json.dumps(response),mimetype=“application/json”)和相同的结果。另外,我忘了说,我看到wireshark的tcp数据包带有RST标志,你找到解决方案了吗?否:(我无法找出问题的原因…你找到解决方案了吗?)否:(我无法找出问题的原因。。。