我有两个jsp文件login.jsp和index.jsp,login.jsp进行ajax调用,其中在身份验证之后使用setAttribute('key',value)在会话中设置值,然后使用javascript将JavaScript切换到index.jsp window.location.href ='index.jsp'。 index.jsp正在调用getAttribute('key')来获取值,但获得的值与login.jsp中设置的值不同。
这是login.jsp中的ajax调用
75 function login() {
76 var usuario = $("#usuario").val();
77 var password = $("#password").val();
78 var agente = navigator.userAgent;
79
80 $.post("app/bd.jsp", {
81 funcion: "login",
82 "usuario": usuario,
83 "password": password,
84 "agente": agente
85 }, function (data) {
86 if (data.trim() === "ok") {
87
88 window.location.href = 'index.jsp';
89 } else {
90 $(".has-usuario").addClass("has-error");
91 $(".has-password").addClass("has-error");
92 $("#mensaje-login").html("Usuario o password invalido");
93 }
94 });
经过身份验证验证后,执行ajax调用时,此操作将在bd.jsp中执行:
287 session.setAttribute("clte_code_cliente",
resultado.getString("usrw_clte_code_cliente"));
288 session.setAttribute("clte_nombre_razon", resultado.getString("clte_nombre_razon"));
289 session.setAttribute("usrw_usuario", resultado.getString("usrw_usuario"));
290 session.setAttribute("usrw_nombre", resultado.getString("usrw_nombre"));
291 session.setAttribute("usrw_tipo", resultado.getInt("usrw_tipo"));
292 session.setAttribute("usrw_id", resultado.getInt("usrw_id"));
然后window.location.href ='index.jsp';执行ajax调用的回调时切换到index.jsp。
最后在index.jsp中,我尝试将会话值检索为:
488 <div class="col-sm-8">
489 <input type="text"
490 value="<%=session.getAttribute("clte_code_cliente")%>"
491 onblur="traerRazonSocial();" class="form-control" id="inputCodigo"
492 placeholder="Codigo de cliente" required autofocus disabled>
493 </div>
但是检索session.getAttribute()函数的信息不是正确的用户信息,该信息属于之前登录的另一个用户。
谢谢!