关于ajax的下载文件被浏览器阻止的问题

在开发中遇到了这样一个问题: 使用jquery的ajax功能,在回调函数中进行下载的调用时浏览器会在顶部出现一条黄色背景的提示信息,大体意思就是说是否下载,存在风险之类的。

解决方案:

1、不要在回调函数中进行下载,通过手动触发下载请求,可解决

2、浏览器的安全设置里自己设置(不推荐)

时间: 2024-11-08 17:33:58

关于ajax的下载文件被浏览器阻止的问题的相关文章

ajax异步下载文件

ajax不支持异步下载,但我想你是不想让地址栏发生跳转,如果是这样的话,我到是有几种方法.这几种方法的原理都是一样的,就是发送同步请求,当同步请求下载东西是并不会改变url <a href="你要下载的资源的url">下载</a> document.href="你要下载的资源的url" var form = $("<form action='你要下载的资源的url' method='post'></form>

ajax方式下载文件

<button type="button" onclick="download()">导出</button> function download() { var url = 'download/?filename=aaa.txt'; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); // 也可以使用POST方式,根据接口 xhr.responseType = "b

下载文件根据浏览器判断文件名,解决兼容性问题

兼容性解决 string FileDownloadName = string.Format("城市广告位详情{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss")); string outputFileName = null; //判断浏览器类型,火狐下文件名直接加双引号,IE Chrome下文件名用HttpUtility.UrlEncode或Server.UrlEncode进行编码 string browser = Sy

浏览器下载文件时一共发送2次请求,如何把“下载次数”只记录为1次?

最近,个人官网实现了PDF下载功能,出于统计的考虑,增加了"下载次数"download_count这个字段. 但是,我今天突然发现,每次下载download_count都直接+2了.如果服务器发生这种事,还有一定的可能,本地就我一个人下载,怎么可能下载2次.于是,打开了log4j的debug模式,果然执行了2次更新请求. @RequestMapping(value = "/download/pdf") public void downloadPdf(@Request

浏览器发送总共下载文件2第二个请求,如何“下载”仅仅记录1次要?

近期,个人官网实现了PDF下载功能,出于统计的考虑.添加了"下载次数"download_count这个字段. 可是.我今天突然发现.每次下载download_count都直接+2了.假设server发生这样的事,另一定的可能,本地就我一个人下载,怎么可能下载2次. 于是,打开了log4j的debug模式.果然运行了2次更新请求. @RequestMapping(value = "/download/pdf") public void downloadPdf(@Req

怎么用ajax下载文件

可能大家都觉得没有必要用ajax来下载东西,用window.open(url)就可以搞定 但是这有一个问题,就是这就限定了只能用GET方式来请求了: 可能你又会说GET很符合REST的要求呀. 但是如果你用jwt来做身份验证呢? 这意味着你需要在Window.open时带上自定义的Request Header,这就无解了 所以今天来介绍一下怎么用ajax来下载文件 1 let xhr = new XMLHttpRequest() 2 xhr.open('GET', 'http://www.xxx

ajax请求不能下载文件(转载)

最近在做文件下载,后台写了个控制层,直接走进去应该就可以下载文件,各种文件图片,excel等 但是起初老是下载失败,并且弹出下面的乱码: 前台请求代码: [html] view plain copy $('#fileexcel').unbind('click').bind('click',function(){ alert("我要下载了"); $.ajax({ type:'post', url:'media', data:null, async:true, success : func

ajax请求过程中下载文件在火狐下的兼容问题

项目中碰到的问题,记录如下. 需求很简单,点击一个文件链接下载该文件,同时向后台发送请求.需求很常见,用户点击下载后通常要进行下载量的统计,统计的话可以利用 script标签 或者 img标签(图片ping) 的跨域能力,将它们的 src 属性指向统计地址,但是这次用了 ajax 进行统计,遂出现了这个问题. demo 代码如下: 复制代码<a id="a" href="http://c758482.r82.cf2.rackcdn.com/Sublime Text 2.

如何用ajax下载文件

引子 在HTML5没来之前,浏览器想要下载文件,可能有这么几种方式: 借助a标签,<a href="学习资料.xlsx"></a> window.location = '学习资料.xlsx' 借助浏览器插件,如flash等(没考证过) 除了第三外,前两种方法有个缺点,就是无法知道下载是否完成,因为浏览器没有给出相关的事件.但是,自从有了Blob,fetch, xhr2这些好用的API之后,ajax下载文件(小文件)就变得可行了,核心原因就在于Blob和Array