美好的一天,
我有Java Web应用程序,我会做一些登录后的事情:
- 登录后,系统将在"着陆页"中显示着陆页,将有一个选项卡菜单,并且有许多模块可以从"选项卡"菜单触发以导航到其他页面。
- 我需要在用户试图导航到其他页面时实现某些逻辑运行,逻辑将是一种检查某些内容并返回
boolean
的方法,如果boolean
为True,则它将将用户引导到他从中单击的页面导航选项卡。如果boolean
是错误的,那么我希望系统将用户引导到特定页面。
首先,我想使用$(window).unload()
,然后对我的Java代码进行AJAX进行此逻辑,但是,我发现unload
方法已经从最新的jQuery
中删除。
之后,我找到了beforeunload
jQuery
方法。我使用此并将Ajax致电Java代码。但是,我发现当呼叫Ajax时,如果我的boolean
(如果为false(,它不会将我引导到特定页面,它仍然会将我引向我单击的页面。
**我的jQquery
版本是jQuery v1.12.4,我正在使用Stripes
用于服务器代码**
有任何建议或更好的解决方案?
请建议。
我认为我找到了一个解决方案,但不确定是否是最佳实践。
我使用beforeunload
jQuery如下拨打降落页面时致电到后端代码。
$(window).bind('beforeunload', function(){
myfun();
});
然后使用ajax调用:
function myfun(){
// Write your business logic here
var updateViewGuideUrl = '<s:url beanclass="com.cs.c.ui.customer.action.LandingAction" event="loginCheck2"/>';
$.ajax({
url : updateViewGuideUrl,
success: function(data, textStatus) {
window.location.href = "http://stackoverflow.com";
}
});
}