我想在网页的unload-Function中调用一个URL,但在unload-function中,get请求不起作用。我的代码如下所示:
$(window).unload( function () {
jQuery.get("someurl")
} );
我们希望了解关闭某些用户操作记录的窗口。有可能吗?
如果我在jQuery.get()之后添加一个alert(),Get-Request有足够的时间来执行此操作,但这不是我们喜欢的。
答案 0 :(得分:14)
使用: -
jQuery.ajax({url:"someurl", async:false})
答案 1 :(得分:2)
您需要直接使用onbeforeunload事件。在那种情况下,您可以启动ajax调用。这是jQuery实际上没有用处的地方(还)。几个笔记:
不要从onbeforeunload事件返回任何内容,否则浏览器会向用户显示“您确定要离开此页面”弹出窗口
如果你进行ajax调用同步,它会在页面运行时停止卸载。如果您将其设置为异步,则在呼叫运行时页面将会更改(您无法为该呼叫设置javascript事件处理程序)。由于jQuery连接了事件处理程序,因此它的ajax支持在这里并不那么有用。
window.onbeforeunload = function() {
var URL = 'someplace';
var request = null;
if (window.XMLHttpRequest){
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
if (request) {
request.open("GET", URL, false);
request.send();
}
}