我正在使用ExtJS 4
表单提交一个excel文件,但即使请求成功,它也注册了一个失败。form.submit
函数期望看到什么?
表格
xtype: 'form',
name: 'upload_form',
items: [{
text: 'File Upload',
xtype: 'fileuploadfield',
name: 'upload_btn',
buttonOnly: true,
hideLabel: true,
allowBlank: false,
clearOnSubmit: false
}]
控制器
'filter fileuploadfield[name="upload_btn"]': {
change: this.UploadClick
}
...
UploadClick: function (vb, s) {
var controller = this,
form = controller.getUploadForm();
if (form.isValid()) {
form.submit({
url: '/upload',
waitMsg: 'Uploading your csv...',
success: function (fp, o) {
Ext.Msg.show({
title: 'Upload Complete',
msg: o.response.responseText,
icon: 'save-success',
buttons: Ext.Msg.OK
});
},
failure: function (fp, o) {
Ext.Msg.show({
title: 'Upload Error',
msg: o.response.responseText,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
}
});
}
}
Java返回
Response.ResponseBuilder builder;
...
builder = Response.ok(null);
return builder.build();
3条答案
按热度按时间xdnvmnnf1#
不要发送
null
Response ...而是发送预期的JSON
沿着正确的内容类型头:rlcwz9us2#
您需要附加参数
success
作为响应:例如:
如文档中所示:https://docs.sencha.com/extjs/4.2.6/#!/api/Ext.form.Basic-method-submit
c3frrgcw3#
在我的例子中(使用ExtJS6.2的 Boot 应用程序),如果要返回一个对象列表,可以使用 Package 器。
而不是:
请执行以下操作:
其中Users类为: