问题1:怎么用JavaScript获取session值?
解决:JavaScript是不能直接获取session值得,但我们可以走迂回路线,在网页的<body></body>内任意地方写上
<input type="hidden" value="<%=request.getSession().getAttribute("你要获取的值")%>" id="flag"/>
。然后编写JavaScript
<script type="text/javascript" language="javascript">
function judgeLogin(){
var flag = document.getElementById("flag").value;
if(flag.toString()=="null"){
alert('请先登录');
return false;
}
}
</script>
这样,就可以轻松获取session值了,而不是仅仅获取到<%=request.getSession().getAttribute("user")%>,相信很多人和我犯过一样的错误。
问题2:怎么通过JavaScript阻止超链接的跳转?JavaScript返回了false为什么还是跳转了?
解决:如果有一个js函数test()返回一个false值,仅仅使用οnclick="test()"是不能阻止页面跳转到目标网页的,要想跳转到目标网页,需要写οnclick="return test()"。或者直接在test()中写window.event.returnValue=false; 因为a标签默认绑定点击事件,onclick 是触发点击事件同时执行的,而 window.event.returnValue 阻止了点击事件。
参考:问题2的解决参考了:https://segmentfault.com/q/1010000006464456