当前位置: 首页 > 知识库问答 >
问题:

javascript - AJAX GET请求导出文件无响应流,Postman正常,原因何在?

穆毅然
2024-11-07

前端做导出的时候,response中无流信息,但是把参数放到postman中测试确有流信息。

      let str =
        `http:192.168.2.49:10002/jysp-cruise-server/cruise/result/exportRunningLogWord?directCurrent=${row.directCurrent}&alternatingCurrent=${row.alternatingCurrent}`;
      const link = document.createElement("a");
      link.style = "display: none;";
      link.href = str;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);

共有4个答案

朱天逸
2024-11-07

你是不是想使用使用fetch API,我帮你改了一下

let str = `http://192.168.2.49:10002/jysp-cruise-server/cruise/result/exportRunningLogWord?directCurrent=${row.directCurrent}&alternatingCurrent=${row.alternatingCurrent}`;
fetch(str)
  .then(response => response.blob())
  .then(blob => {
    const link = document.createElement('a');
    link.href = window.URL.createObjectURL(blob);
    link.download = 'filename.docx'; // 设置下载文件名
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
  })
  .catch(error => console.error('Error:', error));
上官英哲
2024-11-07

猜测是跨域了。既然是 GET,试试直接 <a target="_blank">

丁震博
2024-11-07

实际访问的地址是否和预期有偏差,然后直接拿着链接在浏览器打开是否能正常下载

卫阳炎
2024-11-07

后端提供的接口是get请求,但是前端在传参的时候需要对参数进行编码。否则接口会一直调取失败。至于为什么要编码,后端未说明情况
${encodeURIComponent(row.directCurrent)}&alternatingCurrent=${encodeURIComponent(row.alternatingCurrent)}

 类似资料:
  • 我正在从事一个项目,我必须使用变量的不同值多次访问 Web 服务 比如说,http://mywebservice.com?variable1={{value}} 并且使用Postman collection runner传递不同的值。 我想将所有请求的响应正文下载到一个文件中。我该怎么做?

  • 我试图记录应用程序中的每个传入请求和传出响应。我正在使用jee 6,所以我没有ContainerRequestFilter和ContainerResponseFilter类。所以我决定用滤镜。 我用@WebFilter(“/*”)注释了一个类,并实现了Filter接口。我成功地读取了请求头和请求正文。我也很难阅读响应标题和响应正文。下面是代码片段 MyHttpServletResponse seW

  • 这是我在koa项目中实现的一个post请求,功能是读取本地文件并写入数据, 在前端调用axios.post去请求这个api的时候,除了第一次一定成功外,如果操作的快一点的话,后续的请求就全部502了, 这是什么原因,请求如何解决? fs.writeFileSync('./app/data/upload_resource.txt', JSON.stringify(data)) // 排查后发现, 如

  • 我正在使用SpringWebFlux创建RouterFunction和Handler。我的处理函数有@Aspect,如下所示,用于在数据库中存储ServerRequest body和ServerResponse body。但当我试图得到一个对象时,我的请求就被绞死了。是否有实现此功能的示例代码。

  • 我正在用Cordova开发一个Android应用程序。我有一个自定义插件试图使用OKHTTP。 我错过了什么?通过查看OKHTTP的源代码和它们的示例,这些类肯定是公共的。此外,我从导入的其他内容也很好... 谢了!

  • 虽然,如果我将链接插入浏览器,我将得到json格式。 这就是请求的工作结果 `

  • 我想用kafka流实现请求-响应模式,我使用spring boot kafka,其中添加了一些数据作为报头,命名为关联id,但是当kafka流API处理请求消息时,报头数据会丢失,无法发送到响应主题!我该怎么解决,还是用另一种方法??

  • 我从Spring-Boot开始学习Webflux。我了解到,对于RestController的endpoint,您可以定义一个流量请求体,在这里我期望一个真正的流量流,也就是说,整个请求的各个部分一个接一个地出现,这些部分也可以一个接一个地处理。然而,在用客户端和服务器构建了一个小示例后,我无法让它像预期的那样工作。 但在服务器日志中: 我看到所有的文本片断都同时到达服务器,因此作为流量流中的一个