javascript - 用户关闭页面时如何调用服务器方法

标签 javascript asp.net ajax callback

我想在用户关闭页面后从服务器上删除一个临时文件(我假设默认情况下我在服务器上没有这个回调),

当用户关闭页面时,我尝试使用(ICallbackEventHandler 实现)调用服务器端方法,但问题是在这种情况下(关闭页面)服务器端方法不会触发), 它只在页面仍然打开时响应。并且我不希望在服务器响应之前停止关闭页面并将其发送回手动关闭页面。

如果我必须停止关闭页面,请以最好的方式帮助我。

提前致谢

最佳答案

您无法真正知道用户何时关闭页面。

最好的办法是使用 JS onunload 事件并在其中发送 AJAX 请求:

<body onunload="SendRequest();">

还有 JavaScript:(jQuery 是最简单的方法)

function SendRequest()
{
    var sURL = "http://localhost/Log.aspx?action=unload&t=" + (new Date()).getTime();
    $.ajax({ url: sURL });
}

每当用户离开页面时都会触发此事件:F5、后退、前进、单击链接、提交表单等...您可以改进代码以忽略某些情况,例如单击页面中的某些内容让我知道如果相关,我将使用适当的代码进行编辑。

关于javascript - 用户关闭页面时如何调用服务器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4594396/

相关文章:

javascript - JS如何将json转换为数组

带有 3 个按钮的 JavaScript 警报

c# - 如何在文本框中键入内容时触发文本框 textchanged 事件

javascript - 如何显示从数据库中检索到的多行文本

javascript - 使用 Javascript 从 Ajax TabContainer 获取 ActiveTabIndex

javascript - 在 AngularJS 的中介服务中解开 Promise

javascript - 如何在 Vue 中将数据从组件传递到实例

asp.net - 如何让我的网站提示 iPhone 上的下拉菜单?

javascript - 简单的ajax问题

javascript - Jasny Bootstrap offcanvas 菜单 - ajax 'close' 导致关闭问题