extjs中submit提交后不进入success也不进入failure

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了extjs中submit提交后不进入success也不进入failure相关的知识,希望对你有一定的参考价值。

这是extjs
text:"上传",formBind:true,handler:function()
uploadForm.getForm().submit(
url:"ReportInfo!importReports.action",
waitMsg:"请稍等,正在进行上传!",
success:function(form, action)
Ext.MessageBox.alert("上传成功","请稍等,正在进行分析!", function()
// waitMsg:"请稍等,正在进行分析!"
);
,
failure:function(form, action)
Ext.MessageBox.alert("上传失败",action.result.msg);

)
这是action中

/*
* 上传报表
*/
public String importReports() throws Exception
success = true;
msg = "上传成功,正在分析报表.....";
return this.SUCCESS;

这是错误提示
SyntaxError: syntax error
[在此错误处中断]
(<pre>"ids":null,"limit":10,"msg":"上传成功,正在分析报表.....","record
ext-all-debug.js (第 6866 行,第 1 列)

关于这个ids说一下哈,ids在这个方法里没用到,再另外一个修改的方法里用到了,所以在action类中进行了setter和getter,但是不知
咋地,它会出现在这里,也不知道是不是这个地方错了,但是json中可以为null的呀。大家说说这是什么情况,不要被我的瞎说影响了哈

你的json返回值不对
要执行success或failure,需在返回的json中有如下字段
执行success里面的操作
success:true
执行failure里面的操作
success:false
参考技术A 你后台报的错?追问

浏览器报的错

追答

如果能调用到后台,那你后台传过来的数据是什么样的?

追问

逻辑上后台不需传来有用的数据,就只是这两个,因为只是做一个上传报表的模型,不是真正实现
success = true;
msg = "上传成功,正在分析报表.....";

追答

submit提交方法是要根据后台传过来的数据判断成功还是失败
普通的ajax只要成功传到后台就是success
你用的submit就要返回"success:true"这么个东西才行

追问

我不是已经设置success为true了吗,为什么还是不可以?

追答

所以我问你你返回的数据是什么样的,返回的样式不对他也不认

以上是关于extjs中submit提交后不进入success也不进入failure的主要内容,如果未能解决你的问题,请参考以下文章

Extjs的form跨域提交文件时,无法获取返回结果

ASP中用submit提交表单后不清空文本框的内容,怎么做?

form.submit();在 DOM 中“刷新”表单后不起作用。控制台提示:表单提交已取消,因为表单未连接

使用 form.submit() 时出错

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

在form.submit之后的extjs store.load