热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

外部页面刷新时,iframe内调用ajax的abort方法,页面仍会等待请求结束再刷新

我在一个页面里嵌入一个iframe,iframe链接为另一个页面,内部页面中调用Ajax向后台做长轮询,后台接到请求直接挂起,直到又返回或是超时(超时时间后台设置为20秒)。现在如果外部

我在一个页面里嵌入一个iframe,iframe链接为另一个页面,内部页面中调用Ajax向后台做长轮询,后台接到请求直接挂起,直到又返回或是超时(超时时间后台设置为20秒)。
现在如果外部页面被用户强制刷新,页面会等到iframe内的ajax请求超时再刷新,如何能在刷新时强制中断内部的ajax请求?



我试过监听页面刷新事件,然后用abort方法中断请求,在浏览器F12-网络中,看到这个ajax请求的状态已经由pending变成canceled了,但是页面仍会等到20秒之后再刷新,这是为什么呢?

这是iframe内页面JS,监听外部页面刷新事件,刷新时Log可以打出,证明捕捉到了事件,ajax请求也变成canceled,但是页面并不立即刷新。



1
2
3
4
window.parent.Onbeforeunload= function() {

    console.log("Refresh");

    ajaxpost.abort();

}

这跟后台服务挂起方式有关系吗?我用.net mvc的异步controller实现的。


   



推荐阅读
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • IE下使用jQuery重置iframe地址时内存泄露问题解决办法
    IE下使用jQuery重置iframe地址时内存泄露问题解决办法:页面中有个iframe:代码如下:测试IFRAME泄露其中a.html ... [详细]
  • 重学前端学习笔记(十八)JavaScript的闭包和执行上下文
    笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加 ... [详细]
  • 使用parent.xadmin.add_tab()方法打开新的标签页重点是这个parent,折磨了我一下午,原来是没有搞清应该从父页面打开。最开始的xa ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 一、什么是闭包?有什么作用什么是闭包闭包是定义在一个函数内部的函数,它可以访问父级函数的内部变量。当一个闭包被创建时,会关联一个作用域—— ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • 简答题(每题5分):1、label标签是什么,for和accesskey属性有什么用?label标签是一种常见 ... [详细]
author-avatar
End---的天空_808
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有