Internet explorer Internet explorer 8拒绝从弹出窗口下载文件

Internet explorer Internet explorer 8拒绝从弹出窗口下载文件,internet-explorer,internet-explorer-8,download,popup,Internet Explorer,Internet Explorer 8,Download,Popup,我正在制作一个网站。在一个地方有一个执行Ajax回调的按钮,然后尝试通过window.open()下载文件。预期的行为是新窗口短暂闪烁,然后出现文件下载。这在IE9上运行良好,但IE8似乎有问题,即使禁用了弹出窗口阻止程序 经过进一步的实验,我发现了另一种奇特的行为。如果我在新打开的选项卡的地址栏中手动输入下载的URL,我会收到一条错误消息。一些关于无法下载的通用信息。如果我现在尝试刷新页面(或者只是在地址栏中点击回车键,从而重复相同的请求),下载就会顺利进行 我认为它可能与内容处置或缓存控制头

我正在制作一个网站。在一个地方有一个执行Ajax回调的按钮,然后尝试通过
window.open()
下载文件。预期的行为是新窗口短暂闪烁,然后出现文件下载。这在IE9上运行良好,但IE8似乎有问题,即使禁用了弹出窗口阻止程序

经过进一步的实验,我发现了另一种奇特的行为。如果我在新打开的选项卡的地址栏中手动输入下载的URL,我会收到一条错误消息。一些关于无法下载的通用信息。如果我现在尝试刷新页面(或者只是在地址栏中点击回车键,从而重复相同的请求),下载就会顺利进行

我认为它可能与
内容处置
缓存控制
头有关,但删除这些头并没有帮助。也没有将URL添加到“受信任的站点”区域


无论如何,我将尝试用
window.location
重新制作它,因为我不喜欢弹出窗口(这不是我做的),但我对这种行为感到困惑。是什么原因造成的?

我遇到了类似的问题。事实证明,IE在使用AJAX获取文件时很难打开文件。我使用的解决方案是不使用ajax。相反,我使用了一个小jQuery和一个
iframe

jquery - on click (dont need ajax/get)

            var dynamicUrl = 'SomeFileService.aspx?someQueryParam=' + input;
            $('#iframePopup').attr('src', dynamicUrl);
            window.frames["#iframePopup"].location.reload();

HTML

<iframe id="iframePopup" style="visibility:hidden;height:0px;width:0px;"></iframe>
jquery-on-click(不需要ajax/get)
var dynamiccurl='SomeFileService.aspx?someQueryParam='+输入;
$('iframepoppopup').attr('src',dynamiccurl);
window.frames[“#iframepoppup”].location.reload();
HTML

。如何通过AJAX获取文件?我的意思是,当AJAX请求完成时,我会在它的成功事件中打开一个弹出窗口。无论如何,AJAX请求是生成URL所必需的。@Vilx-好的,我明白了。1.您是否设置了
Response.Charset=“”
对于aspx,或者如果不是.NET,则
内容类型:
的值是多少?2.您是否仅通过显示
警报来验证是否执行了成功回调?3.当尝试一次失败时,请使用
Fiddler
或类似工具查看HTTP错误代码。另外,请告诉我们这是否使用NTLM身份验证。