【问题标题】:Extjs file upload request stays on waitMsgExtjs 文件上传请求停留在 waitMsg
【发布时间】:2011-07-14 12:17:02
【问题描述】:

通过一个 ExtJs 表单,我正在上传一个文件以在 php 中处理(在这个问题上是 csv 文件)。

处理一切正常,没有错误或任何东西。据我所知,正确响应的所有其他要求都已满足。

  1. 返回消息 = {成功:真}
  2. 响应标头 Content/Type = text/html
  3. 状态 = 200 正常

但是 ExtJs 一直显示我的 WaitMsg 而不是我成功的失败函数

这是我的表格:

var form = new Ext.FormPanel({
            id :         'mailinglist_form_import',
            labelWidth : 210,
            fileUpload : true,
            border :     false,
            url :        '/plugin/NewsletterManagement/mailinglist/import',
            items :      [{
                xtype :       'fieldset',
                width :       560,
                border :      false,
                autoHeight :  true,
                labelWidth :  215,
                defaultType : 'textfield',
                defaults :    {
                    width :      307,
                    labelStyle : 'font-weight: bold;'
                },
                items :       [{
                    fieldLabel : t('Name') + ' *',
                    name :       'mli_name',
                    allowBlank : false
                },{
                    xtype :      'textfield',
                    fieldLabel : t('File') + ' *',
                    name :       'file', 
                    inputType :  'file'
                }]
            }]
    });

按钮:

var saveBtn = new Ext.Button({
            text: t("Save"),
            iconCls: 'pimcore_icon_save',

            handler: function() {
                form.getForm().submit({
                    waitMsg: t('Saving...'),
                    success: function () {
                        var tabpanel  = Ext.getCmp("pimcore_panel_tabs");
                        Ext.MessageBox.alert (t('Message'),t('Data has been saved'));
                        form.getForm().reset();
                        grid.getStore().reload();
                        tabpanel.activate(gridTabId);
                        tabpanel.remove(tabId);
                    },
                    failure: function () {
                        Ext.MessageBox.alert (t('Message'),t('Saving data failed'));
                    }
                });
            }
        });

PHP 文件包含回显:

echo "{'success': true}";

非常感谢任何帮助。

问候, XpertEase

【问题讨论】:

  • 如果{'success': true} 是JSON,它应该与Content-Type: application/json 一起发送。此外,您应该使用双引号而不是单引号 ({"success": true}) 以符合 RFC 4627。但是,我认为这不是问题。
  • 感谢您的建议,但正如您所料,它并没有改变任何东西。
  • 我用 [this][1] [1] 解决了同样的问题:stackoverflow.com/a/6227369

标签: php extjs


【解决方案1】:

打开控制台并查看错误。如果你没有看到你的两个警报——那么这是代码中的一些错误,在 extjs 方面。了解它,修复它,然后再报告。

【讨论】:

  • 虽然这不是真正的答案。它确实为我指明了正确的方向。发现它与 CMS 特定问题 (Pimcore) 有关。
  • 是的,它有点像鱼竿——不是鱼:)
猜你喜欢
  • 1970-01-01
  • 2021-09-10
  • 2017-10-11
  • 2021-08-10
  • 2019-05-20
  • 1970-01-01
  • 2021-09-19
  • 2013-06-19
  • 1970-01-01
相关资源
最近更新 更多