web项目中,如果一个页面长时间没有操作,而session已经过期了,这时如果执行一些操作,比如查询 编辑 等ajax请求,如果使用的是jquery $.post()方法,即使后台判断session过期,进行转发,前台也不会有响应,而对用户造成一定的困惑。
使用jquery提供的一些全局的ajax事件可以解决这一问题:
- ajaxComplete()函数用于设置当AJAX请求完成(无论成功或失败)时执行的回调函数。
这是一个全局AJAX事件函数,用于为所有AJAX请求的ajaxComplete事件绑定事件处理函数。当AJAX请求完成(无论成功或失败)时,将触发ajaxComplete事件,并执行绑定的事件处理函数。
该函数必须在jQuery对象实例上调用,ajaxComplete()将为每个匹配元素的ajaxComplete事件绑定处理函数。当AJAX请求完成后,所有匹配元素上的处理函数都将被触发执行。事件处理函数内的this将指向当前DOM元素。
你可以在同一元素多次调用该函数,从而绑定多个事件处理函数。触发ajaxComplete事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。
注:从jQuery 1.8开始,该函数只能为document对象的ajaxComplete事件绑定处理函数,为其他元素绑定的事件处理函数不会起作用。
如果在jQuery.ajax()或jQuery.ajaxSetup()中将选项参数global设为false,可以禁止该AJAX请求触发全局的AJAX事件。
例: