我有一个包含网格和按钮的应用程序,用户可以将网格导出到 Excel。当服务器使用 excel 文件响应时,我希望能够显示另存为对话框。服务器接受参数作为 JSON 对象。这是我的代码:-
Ext.Ajax.request({
url: '/export/excel/',
method: 'POST',
//Send the query as the message body
jsonData: jsonStr,
success: function (result,request) {
Ext.DomHelper.append(document.body, {
tag: 'iframe',
frameBorder: 0,
width: 0,
height: 0,
//src:result,
css: 'display:none;visibility:hidden;height:1px;'
});
}, //success
failure: function (response, opts) {
var msg = 'server-side failure with status code: ' + response.status + ' message: ' + response.statusText;
Ext.Msg.alert('Error Message', msg);
}
});
我知道有一个类似的问题(ExtJS AJAX 另存为对话框),但它引用了服务器上的静态文件。在我的情况下,根据发送的 json,结果每次都会有所不同。我在 result.responseText 中取回了我想要的整个 excel 文件。需要做什么才能弹出对话框询问用户另存为选项?另外,我不确定src
应该如何配置 domhelper 中的。任何帮助将非常感激。