window.onbeforeunload = function() {
return $j.ajax({
url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + "&time_on_page=" + getSeconds()
});
}
这就是我所拥有的,但它会返回[object object]
的警报我该如何执行AJAX?
注意:当我不返回任何内容时,服务器不会显示它正在接收ajax请求。
答案 0 :(得分:2)
您无需返回任何内容,只需触发ajax调用即可。
window.onbeforeunload = function(e) {
e.preventDefault();
$j.ajax({ url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + &time_on_page=" + getSeconds()
});
}
如果您使用的是jQuery,则可以尝试绑定到.unload()事件。
答案 1 :(得分:1)
onbeforeunload允许您返回一个字符串,该字符串显示在“您要离开”确认中。如果您什么都不返回,页面将正常退出。在您的情况下,返回JQuery ajax方法返回的jqXHR对象。
您应该只执行Ajax调用并且不返回任何内容。
答案 2 :(得分:0)
为什么要将函数引用返回到全局池?它应该是这样的:
window.onbeforeunload = function() {
$j.ajax({
url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + "&time_on_page=" + getSeconds()
});
}
答案 3 :(得分:0)
据我所知,onbeforeunload函数只会返回一个警告。这样做是为了防止几年前令人烦恼的弹出窗口。
我正在建立一个聊天客户端,我想要做的事情的唯一方法是做一个更新时间戳的setInterval函数,然后检查超时用户并删除它们。这样,在某个时间间隔内没有“登记”的用户将被仍然登录的其他用户从会议室中删除。
不漂亮,或理想,但做到了。