Http文件下载请求停止了JQuery Ajax调用

归零

问题:

在我正在构建的站点上,我有两个JQuery ajax长轮询调用一直在等待处理。我现在正尝试添加文件下载功能,以便在按下链接时,用“另存为”框提示用户。该文件的下载工作正常,问题是当按下链接时,两个ajax调用被取消。

我正在尝试要么不取消ajax调用,要么立即设置ajax调用的可能性。

这是链接的代码:

HTML:

<a href="/test" id="testfile">Tasks</a>

JS:

$(document).on('click',"#testfile",function(event){
    event.preventDefault();
    var href=$(this).attr('href');
    window.location.href = href;
    updater();                               /* AJAX CALL #1 */
    notifier();                              /* AJAX CALL #2 */
});

我试过的

在开始下载后,我上面的代码试图调用两个ajax调用。这是行不通的。如果我稍加延迟以便在下载完成后启动调用,则可以正常工作,但由于文件可能很大,因此花了未知的时间才能收到,这当然是一个不好的解决方案。

我对为什么取消ajax调用感到很困惑?这是因为按下链接时页面正在卸载吗?

看到我仅在具有一个线程的开发服务器上运行,由于服务器繁忙,我尝试跟随链接之后立即尝试设置的新ajax调用可能会失败,这可能是这样吗?


解决了:

我在网站的底部添加了一个隐藏的iframe,并通过链接定位了该iframe。我还删除了JS代码,因为现在尚未取消ajax调用。

现在的代码如下所示:

HTML:

<a href="/test" target="filetargetframe"  id="testfile">Tasks</a>

********

<iframe name="filetargetframe" style="display:none"></iframe>
归零

使用yoavmatchulsky的答案,问题得以解决:

我在网站的底部添加了一个隐藏的iframe,并通过链接定位了该iframe。我还删除了JS代码,因为现在尚未取消ajax调用。

现在的代码如下所示:

HTML:

<a href="/test" target="filetargetframe"  id="testfile">Tasks</a>

********

<iframe name="filetargetframe" style="display:none"></iframe>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章