示例如下:
this.form.getForm().submit({
waitTitle : '请稍后...',
waitMsg : '正在保存菜谱信息,请稍后...',
url: '../cookbook',
method: 'POST',
success: this.addCookbook,
failure: function(form, action) {
DelayMessage.show("系统消息", action.failureType);
},
scope: this
});
开始的时候,从服务器端返回JSON数据的时候,直接弹出下载提示对话框,success函数从来不执行。
不明白什么原因。
经过在EXT JS官方论坛上查找,发现有如下解释:
Your server needs to return a page with Content-type:text/html (so NOT application/json!).
Also, since it's HTML the response should be:
HTML Code:
<html><body>{success:true}</body></html>
于是,我修改服务器端返回,由原来的application/json返回,改成html返回,并且,按照数据规定格式写。
注意:返回的html中,必须带success:true参数。如果要回传其他数据,请在后面加上对应的数据即可。如下:
<html><body>{success:true,cookbook:[{name:"gbjd"},{name:"szr"}]}</body></html>