【发布时间】:2011-07-14 12:17:02
【问题描述】:
通过一个 ExtJs 表单,我正在上传一个文件以在 php 中处理(在这个问题上是 csv 文件)。
处理一切正常,没有错误或任何东西。据我所知,正确响应的所有其他要求都已满足。
- 返回消息 = {成功:真}
- 响应标头 Content/Type = text/html
- 状态 = 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