使用 Ext.Ajax.request({url:‘',……方式提交不能实现上传文件。需要使用formPanel.form.submit({url:'',……方式提交
但使用form.submit()方式提交时后台返回中必需包含true,false,如果有多个返回结果时,可使用json 类型返回,如:response.getWriter().write("{'success':false,'msg':'操作失败!'}");
前台获取返回结果:
formPanel.form.submit({
url:'/license/license.do?method=addLicense',
params : {
moduleId : config.moduleId,
moduleName : config.moduleName,
nodeName : nodeInfo.rawValue
},
//waitMsg : '文件上传中...',
success : function(form,action) {
config.panel.store.reload();
Ext.Msg.alert('Success',action.result.msg);
},
failure : function(form,action) {
Ext.Msg.alert("failure",action.result.msg);
}
});
这时候有个问题,在火狐中会报result is undefined错误,需要将ext-all-dev.js中的
onUploadComplete方法下:
if ((contentNode = doc.body.firstChild) && /pre/i.test(contentNode.tagName)) {
response.responseText = contentNode.innerText;
修改成: response.responseText = contentNode.innerText||contentNode.innerHTML;