在开发中,对于批量的下载的业务很常见,当然也会有很多的处理方式。描述一下我碰到的一个批量下载处理方式。

   通过window.open()实现跳转新页面,然后根据后端的接口,前端不需要进行请求。直接跳转这个后端给出的这个接口地址,然后通过传入相应的参数即可。实例代码如下:

window.open(`/supplierRelation/salecluenew/allexport?param=%7B%22userid%22:%22${userInfos.userId}%22,%22departmentid%22:%22${userInfos.role}%22%7D`)

但是其中会 有一个小坑,当时在本地进行调试的时候,会出现一种情况,页面会报错,可能是因为location.host的缘故,不起作用,页面直接无法启动,所以报错了。当时的代码如下:

window.open(`${location.host}/supplierRelation/salecluenew/allexport?param=%7B%22userid%22:%22${userInfos.userId}%22,%22departmentid%22:%22${userInfos.role}%22%7D`)

然后在线上环境时,会发现写localtion.host是多余的,不用在拼接主机号和域名,会出现重复的主机号和域名。

所以最终的代码为:

window.open(`/supplierRelation/salecluenew/allexport?param=%7B%22userid%22:%22${userInfos.userId}%22,%22departmentid%22:%22${userInfos.role}%22%7D`)

这样既可。欢迎大家评论交流。

Logo

前往低代码交流专区

更多推荐