使用javascript拦截文件下载

时间:2015-07-15 19:24:40

标签: javascript asp.net excel

我有一个api,它根据请求的参数生成自定义excel文件:

以下是excel文件的调用:

window.location = Service.API_ENDPOINT + '/report/GetAReport' + generateQueryParams();

问题在于,有时没有用于填充电子表格的数据(对应于查询参数),用户下载空电子表格。在这些情况下,我想弹出一条消息,说明"对你的参数没有任何结果"。问题是如何做到这一点。

我在想,如果没有查询结果(甚至可能是服务器错误),我可以调整api以返回除文件之外的其他内容但是我如何在客户端对其进行操作?我的意思是,我怎么能修改这个调用,以便在有一个文件的情况下下载文件,但是当服务器发送其他内容时显示一条消息,以及"其他什么"是

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果电子表格为空,您可以对同一个端点执行HEAD请求并返回不同的状态代码。

然后,在执行window.location更改之前,使用HEAD方法执行AJAX请求。如果状态为200,则继续下载。如果它是302(例如),则显示警告。