H5W3
当前位置:H5W3 > 问答 > 正文

页面关闭执行的方法中ajax不生效

为了清空session域中的一个值。关闭页面时执行方法,向后台发送请求。方法能成功进入,但是方法中的ajax不执行。使用的js,ssm,java

$(window).on('unload', function() {
$.ajax({
type: 'POST',
url: '${ctx}/wms/ebPurchaseItem/choiceItem',
data: {id:"",caozuo:"clear"},
async: false,
success: function(data){
console.log("调用完成ajax");
alert (data);
}
});
console.log("结束");
alert ("结束");
});        

查了好多资料都是设置ajax的async: false,但我的依然不好用。

页面打印信息:

页面关闭执行的方法中ajax不生效

望不吝赐教,谢谢。

回答

浏览器关闭后,并不能保证你的请求能否如期发送给后端。所以这个玩法本身有些问题。如果要考虑发送,可以尝试 navigator.sendBeacon,注意兼容性。

 

另外,只是为了清理 session,考虑直接设置 cookie(session id) 有效期,或者把 sid 放在浏览器内存中,浏览器一关就没了(绕开服务端清理动作)。

未经允许不得转载:H5W3 » 页面关闭执行的方法中ajax不生效

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址