表单提交时校验Session 失效的一JS写法

所有的Form表单提交会先检查session的情况,使用一个单独的同步请求,session过期返回expired,否则返回alive,前端JS判断如果过期打开新窗口登录。


jQuery(function($) {
	// action listener for form commit
	$("form").unbind("submit").submit(checkSession);

	$(document).ajaxComplete(function() {
		$("form").unbind("submit").submit(checkSession);
	});
});

function checkSession(event) {
	var checkSession;
	jQuery.ajax({
		url : sessionCheckServletPath, 
		data : {
			checkSession : true
		},
		async : false,
		complete: function (xhr, textStatus) {
			checkSession = xhr.getResponseHeader("sessionStatus");
		}
	});
	if ("expired" == checkSession) {
		window.open(ssoLoginUrl, "loginWindow");
		return false;
	}
	return true;
}




/*jQuery(function($) {
	// action listener for form commit
	$("form").submit(checkSession);

	$(document).ajaxComplete(function() {
		$("form").unbind("submit").submit(checkSession);
	});
});*/

function checkSession(event) {
	var checkSession = jQuery.ajax({
		url : sessionCheckServletPath, 
		data : {
			checkSession : true
		},
		async : false
	}).getResponseHeader("sessionStatus");
	if ("expired" == checkSession) {
		window.open(ssoLoginUrl, "loginWindow");
		return false;
	}
	return true;
}


你可能感兴趣的:(session)