Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript/Ajax仅在调试时工作_Javascript_Asp.net_Ajax - Fatal编程技术网

javascript/Ajax仅在调试时工作

javascript/Ajax仅在调试时工作,javascript,asp.net,ajax,Javascript,Asp.net,Ajax,我想在用户关闭浏览器时删除用户会话和相关数据。我参考了这篇()文章,我有一些代码如下。我想在用户关闭浏览器时从应用程序状态和SQL server数据库中删除用户数据。我是在一个管理者的帮助下做这件事的。 下面的代码在调试时运行良好,它正在调用处理程序并执行我在其中编写的所有代码。但当我真的使用这个应用程序时,它不起作用。我不知道问题出在哪里。它正在消耗我的时间。 (我在母版页的内容中使用此选项) window.onbeforeunload=confirmExit; 函数confirmExit()

我想在用户关闭浏览器时删除用户会话和相关数据。我参考了这篇()文章,我有一些代码如下。我想在用户关闭浏览器时从应用程序状态和SQL server数据库中删除用户数据。我是在一个管理者的帮助下做这件事的。 下面的代码在调试时运行良好,它正在调用处理程序并执行我在其中编写的所有代码。但当我真的使用这个应用程序时,它不起作用。我不知道问题出在哪里。它正在消耗我的时间。 (我在母版页的内容中使用此选项)

window.onbeforeunload=confirmExit;
函数confirmExit(){
var UserID='';
$.ajax({
类型:“POST”,
url:“../../Handlers/HandlerUser.ashx?Action=RemoveUserDataOnBrowserClose&UserID=“+UserID.toString(),
contentType:“应用程序/json;字符集=utf-8”,
async:false,
成功:功能(数据){
}
});
}

如果有人能提出另一种方法来实现同样的目标,那将是一个很大的帮助

我猜它不起作用,因为它是异步调用。 函数在调用发生之前退出

我建议您中断关闭操作,清除数据库中的数据,然后在回调中以编程方式调用关闭事件


我发现这个可能对你有帮助。

最后我得到了答案。我的问题是我的处理程序没有调用,这是因为我没有将表单身份验证添加到我的应用程序中。我在身份验证后添加了这段代码,效果很好

FormsAuthentication.RedirectFromLoginPage(UserID, false);

我不知道这是必要的。谢谢大家的帮助。

如果不调试,您如何确保它不工作?您是否记录了httphandler内部发生的事情?谢谢您的回复。。处理程序必须从数据库中删除它没有执行的数据…我建议这样做。一个高度灵活的.neti日志实用程序如果你手动调用url,它会删除数据吗?当我调试时,它会删除。。。我设置了断点并进行了检查。这是很好的工作,然后…我想我已经做了你建议的职位相同。我们能同步进行吗?
FormsAuthentication.RedirectFromLoginPage(UserID, false);