我在对话框中提交表单中的文件。
正确提交;该文件通过我提供的URL在服务器上完全正常。
根据API description,如果服务器上的所有内容都正确,我应该在响应中提供' =#true = 。这就是我所做的,这就是我看到的回归:
这就是我的代码。但是,即使我返回success = true,它总是转到 case 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);
}
}
});
我不明白这一点。 success = true 是否意味着将调用成功回调?
关于'文件上传的Extjs文档'真是太暴行了。 ExtJS in Action包含大约一行。我主要通过反复试验得到了我所处的位置。那里还有其他文件吗?也许有几页详细介绍了如何使用'文件上传器' ?
答案 0 :(得分:2)
问题在于从服务器收到的JSON不正确。删除围绕"文件的大括号"它会起作用。