我有一个web应用程序,它可以在我的应用程序中以不同的页面下载一些报告,我从外部API中检索报表的数据,我使用AJAX调用来获取这些数据。正如预期的那样,如果用户在生成报表时更改页面,用户将无法下载该页面,则HTTP请求应该被取消。
对于这个问题,我有一些解决办法:
有别的办法吗?即使用户更改页面,也可以保留HTTP请求吗?
我的场景在前端(Javascript),我没有访问任何后端的权限。但是如果前面没有办法,我想听听你的意见。
发布于 2014-04-01 09:26:56
ASP.NET SignalR
ASP.NET SignalR是ASP.NET开发人员的一个新库,它使向应用程序添加实时web功能变得非常简单。什么是“实时网络”功能?这是一种让服务器端代码将内容实时推送到连接客户端的能力。
您可能听说过WebSockets,这是一种新的HTML5 API,它支持浏览器和服务器之间的双向通信。当SignalR可用时,它将在封面下使用WebSockets,如果不是,它将优雅地退回到其他技术和技术,而您的应用程序代码则保持不变。
SignalR还提供了一个非常简单的高级API,用于在您的ASP.NET应用程序中执行服务器到客户端RPC (从服务器端.NET代码在客户端浏览器中调用.NET函数),以及添加用于连接管理的有用钩子,例如连接/断开事件、分组连接、授权。
http://signalr.net/
这就是我的团队找到的解决方案。它很好用。我们的案例只适用于ASP.NET,但正如自己的文本所述,“您可能听说过WebSockets,一种支持双向.的新的HTML5 API”。所以现在我们可以这么做了。
发布于 2013-11-21 14:54:48
使用onbeforeunload警告用户,如果他离开页面,下载将被取消。
https://stackoverflow.com/questions/20123659
复制相似问题