0
我在对话框中以我的表单提交文件。文件上传表单在成功时不会成功
它被正确提交;该文件通过我提供的URL在服务器上完美无缺。
根据API description我应该在响应中提供一个'成功'=真如果一切正常在服务器上。这是我做的,这是我看到回来:
这是我的代码如下所示。不过,即使我返回成功=真,它总是去案件Ext.form.action.Action.SERVER_INVALID。
frm.submit({
url: URLs.fileUploadURL,
waitMsg: 'Uploading file...',
success: function(form,action){
alert('Success', 'Processed file on the server');
},
failure: function(form, action) {
alert('FAIL : action.failureType ' + action.failureType)
switch (action.failureType) {
case Ext.form.action.Action.CLIENT_INVALID:
Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
break;
case Ext.form.action.Action.CONNECT_FAILURE:
Ext.Msg.alert('Failure', 'Ajax communication failed');
break;
case Ext.form.action.Action.SERVER_INVALID: //Always goes here :(
Ext.Msg.alert('Failure', action.result.msg);
}
}
});
我不明白这一点。 成功=真是否意味着成功回调将被称为?
关于'文件上传'的Extjs文档真的很残酷。 ExtJS in Action包含大约一行关于它的内容。我主要通过反复试验得到了我的位置,并且花了好几天的时间。那里有其他文件吗?也许有几页详细说明如何使用'文件上传器'?
也许问题出在了错误的JSON上,它被返回。我看到返回的是具有“成功”和“味精”属性的对象,但它们之后的东西是......另一个嵌套对象? – 2014-11-04 13:19:55
是的,它更多的东西多数民众赞成并不重要。这是不允许的? – 2014-11-04 13:25:52
它可以以某种方式防止触发时发生“成功”事件(即解析器在中途停顿)。试着改变它,你肯定会知道。 – 2014-11-04 13:27:08