从 api 调用下载响应作为 csv onClick

问题描述

当从下拉列表中选择一个项目时,我正在尝试创建一个用于下载 csv 文件的按钮。我以前这样做过,但这次返回的响应与我使用的不同。我可以使用一些帮助来理解如何设置格式以在 api 被点击时正确下载和显示 csv 文件中的数据。

到目前为止,我有一个如下所示的 onClick 函数

const onDownloadReport = (type) => {
    const org = type === "All" ? "" : type;
    api.providerPayroll
      .reports({
        date: activePayPeriod,org: org,})
      .then((res) => {
         window.open("data:text/csv;charset=utf-8," + res);
      });
  };

这适用于下载 csv 文件。但是,它在响应中不包含实际数据,它在 csv 中显示为空。当我尝试安慰 res 时,我也得到了空值。我不确定我在这里缺少什么来捕获响应。

以及端点 reports()

代码
reports: (payload) => requests.post("/reporting/download-payroll-report",payload),

报告遵循与项目中所有其他 api 调用相同的模式。

如果我需要添加更多信息,请告诉我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)