Javascript 是否使用store.load下载文件(Excel文件)?(ExtJS 4.1)

Javascript 是否使用store.load下载文件(Excel文件)?(ExtJS 4.1),javascript,ajax,extjs,extjs4,extjs4.1,Javascript,Ajax,Extjs,Extjs4,Extjs4.1,我需要使用窗口中的按钮从网格下载一个文件。为了发送过滤器参数,我使用store.load,但是它不下载文件,而是尝试读取它。有什么解决办法吗 store.load({ params: { startExel: parseInt(Ext.getCmp('startE').getValue()) } }); startExel是一个额外参数,用于指示我要下载Excel文件。在服务器端返回文件时,包括以下标题: Content-disposition: attachment 我不认为通过简

我需要使用窗口中的按钮从网格下载一个文件。为了发送过滤器参数,我使用store.load,但是它不下载文件,而是尝试读取它。有什么解决办法吗

store.load({
 params: {
  startExel: parseInt(Ext.getCmp('startE').getValue())
 }
});

startExel是一个额外参数,用于指示我要下载Excel文件。

在服务器端返回文件时,包括以下标题:

Content-disposition: attachment

我不认为通过简单的配置更改就可以做到这一点。因为存储是通过AJAX调用加载的

以下是给你的一个想法:

  • 返回带有文件下载url的
    JSON
    对象作为存储加载请求的响应。不是实际的文件内容

    {success=false,url='…'}

  • 在客户端处理存储加载失败,然后识别并提取返回的url。您可能需要稍微调整一下读卡器的配置

  • 调用
    window.open(url)
    启动文件下载


  • 请看下面的内容。

    excel文件是由脚本生成的,还是服务器上的实际文件?您只需在网格单元格中的数据周围包装一个标记,并将href指向该文件或script@gunnx,Excel文件是使用从extjs发送的参数在服务器端生成的。为什么要使用store.load?您不能只使用Ext.ajax,而不是传递所需的参数。我不知道如何获取参数。它们太多了,有些有时会出现,有些则不会。加上他们是被隔离的。我正在寻找一个简单的解决方案。我使用我认为它与请求本身有关。它有
    内容配置:附件;filename=“01simple.xlsx”