Мой логин Ajax-вызов похож на
$.get("LoginServlet", {'agileid': id, 'passwd': passwd, 'remember': 'yes' }, function(data) {
var results = JSON.parse(data);
if ( results.status == "failed") alert(data);
else window.location.href = 'Main.jsp';
});
Мой LoginServlet установит специальный объект атрибута сеанса, который невозможно сохранить на стороне клиента.
В Main.jsp определит наличие объекта сеанса и выполнит необходимые действия.
<%@page import="agile.px.myagiledashboard.listeners.SessionResourcesObject"%>
<%@ page contentType="text/html;charset=UTF-8" session="false" %>
<!DOCTYPE html>
<%
HttpSession hSession = request.getSession();
System.out.println("Main.jsp: " + hSession.getId()); //This is to make sure the session is the same as in LoginServlet request
SessionResourcesObject SRO = (SessionResourcesObject) hSession.getAttribute("SRO");
String userName = "";
if ( SRO != null) {
try {
userName = SRO.getCUser();
System.out.println("main.jsp: " + userName);
} catch (Exception e) {
}
}
%>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
....
Код работает с Chrome, но при запуске в IE11 (в режиме совместимости - ИТ-политика компании - изменить нельзя) объект сеанса всегда становится пустым после перенаправления на страницу jsp.
У кого-нибудь есть такая же проблема? Или кто-нибудь может указать на проблему (ы) в моем коде и исправить это?
Спасибо
Alex