Javascript 如何在页面卸载/离开时发送AJAX请求?

Javascript 如何在页面卸载/离开时发送AJAX请求?,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我所拥有的,但它返回带有[object]的警报 如何执行AJAX 注意:当我不返回任何内容时,服务器不会显示它正在接收ajax请求。您不需要返回任何内容,只需启动ajax调用即可 window.onbeforeunload = function() { return $j.ajax({ url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + "&time_on_page=" +

这是我所拥有的,但它返回带有[object]的警报

如何执行AJAX


注意:当我不返回任何内容时,服务器不会显示它正在接收ajax请求。

您不需要返回任何内容,只需启动ajax调用即可

window.onbeforeunload = function() {
    return $j.ajax({
        url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + "&time_on_page=" + getSeconds()
    });
}

如果您使用的是jQuery,您可以尝试绑定到事件。

您不需要返回任何内容,只需启动ajax调用即可

window.onbeforeunload = function() {
    return $j.ajax({
        url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + "&time_on_page=" + getSeconds()
    });
}

如果您使用的是jQuery,则可以尝试绑定到事件。

onbeforeunload允许您返回一个字符串,该字符串显示在“是否要离开”确认中。如果不返回任何内容,页面将正常退出。在本例中,返回jqXHR对象,该对象由JQuery ajax方法返回


您应该只执行Ajax调用,不返回任何内容。

onbeforeunload允许您返回一个字符串,该字符串显示在“您想离开”确认中。如果不返回任何内容,页面将正常退出。在本例中,返回jqXHR对象,该对象由JQuery ajax方法返回


您应该只执行Ajax调用,不返回任何内容。

为什么要将函数引用返回到全局池?应该是这样的:

window.onbeforeunload = function(e) {
    e.preventDefault();
    $j.ajax({ url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + &time_on_page=" + getSeconds()
    });
}

为什么要将函数的引用返回到全局池?应该是这样的:

window.onbeforeunload = function(e) {
    e.preventDefault();
    $j.ajax({ url: "/view/action?&recent_tracking_id=" + $recent_tracking_id + &time_on_page=" + getSeconds()
    });
}

据我所知,onbeforeunload函数只会返回警报。这样做是为了防止几年前出现恼人的弹出窗口

不久前,我正在构建一个聊天客户端,我唯一能想到的方法就是使用setInterval函数更新时间戳,然后检查超时用户并将其删除。这样,在一定时间间隔内未“签入”的用户将被其他仍登录的用户从房间中删除


不漂亮,也不理想,但成功了

据我所知,onbeforeunload函数只会返回警报。这样做是为了防止几年前出现恼人的弹出窗口

不久前,我正在构建一个聊天客户端,我唯一能想到的方法就是使用setInterval函数更新时间戳,然后检查超时用户并将其删除。这样,在一定时间间隔内未“签入”的用户将被其他仍登录的用户从房间中删除


不漂亮,也不理想,但成功了

防止违约?如果从onbeforeunload开始工作,这将非常方便,但我无法想象它会…@GolezTrol它不会受伤。只有在可能的情况下才会取消。是否默认?如果从onbeforeunload开始工作,这将非常方便,但我无法想象它会…@GolezTrol它不会受伤。只有在可能的情况下才会取消。