Extjs 文件上载表单成功后不会成功

Extjs 文件上载表单成功后不会成功,extjs,extjs4.2,Extjs,Extjs4.2,我正在以对话框的形式提交一个文件 提交正确;文件通过我提供的URL完美地到达服务器 根据,如果服务器上一切正常,我应该在响应中提供一个'success'=true。这就是我所做的,这就是我看到的: 这就是我的代码的样子。但是,即使我返回success=true,它总是转到案例Ext.form.action.action.SERVER\u INVALID frm.submit({ url: URLs.fileUploadURL, waitMsg: 'Uploading file.

我正在以对话框的形式提交一个文件

提交正确;文件通过我提供的URL完美地到达服务器

根据,如果服务器上一切正常,我应该在响应中提供一个'success'=true。这就是我所做的,这就是我看到的:

这就是我的代码的样子。但是,即使我返回success=true,它总是转到案例Ext.form.action.action.SERVER\u 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是否意味着将调用success回调


关于“文件上传”的Extjs文档真是太糟糕了。ExtJS在实际操作中包含关于它的一行代码。我主要是通过尝试和错误达到了现在的状态,我在这方面花了很多天。还有其他文件吗?也许有几页详细介绍了如何使用“文件上传器”?

问题在于从服务器接收到的JSON不正确。删除“文件”周围的花括号,它就会工作。

可能是返回的JSON错误。我看到返回的是和具有“success”和“msg”属性的对象,但它们后面的是。。。。另一个嵌套对象?是的,更多的东西并不重要。这是不允许的吗?它可以以某种方式阻止“成功”事件触发(即解析器在其途中中断)。试着去改变它,你就会知道了。@Alekseimilkin它成功了。如果你把你的评论作为回答,我会接受的。别担心。很高兴我能帮助你。虽然你知道,也许我会这么做,只是让答案变成“已回答”,不再需要帮助,哈哈。