javascript 및 XMLHttpRequest를 사용하여 JEE6 webapp에 비동기 로그인을 구현하려고합니다./app/j_security_check에 XMLHttpRequest를 사용하여 비동기 호출을하고 응답을 구문 분석하여 "Login Failed"또는 "Login success"라는 대화 상자를 사용자에게 표시 할 수 있어야합니다. Glassfish 3.1.1을 사용하고 있습니다.Glassfish의 Java EE 웹 응용 프로그램 비동기 로그인 3.1.1
내가 시도했지만 반응은 항상 null입니다. 로그인 폼과 다음 스크립트를 보유하고있는 login.jsp가 있습니다 :
function submitLogin(formName) {
var urlAction = "/app/j_security_check";
var client;
var dataString;
if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari
client = new XMLHttpRequest();
} else { // IE6, IE5
client = new ActiveXObject("Microsoft.XMLHTTP");
}
client.onreadystatechange = function() {
var response = client.responseText; // this is always null
/* ALERT THE DIALOG HERE ACCORDING TO RESPONSE? */
};
var form = document.forms[formName];
var username = form.elements["j_username"].value;
var password = form.elements["j_password"].value;
dataString = "j_username=" + username + "&j_password=" + password;
client.open("POST", urlAction, true);
client.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
client.send(dataString);
}
제 질문은 이것이 가능한지 어떻게 구현해야합니까?
편집 : 여기에서 발생하는 문제는 리디렉션 Java Security가 성공적/실패한 로그인 후에 적용되는 것으로 보입니다. 그것은 자바 스크립트와 상관없이 항상 페이지를 리디렉션하는 것으로 보입니다. jQuery의 ajax 메소드도 사용하지 않았다. 나는 비슷한 할
는
이 작동하지 않습니다. 페이지는 로그인 후 항상 리디렉션되므로 기본 Javascript 또는 jQuery에서 아무 것도 처리하지 못하는 것 같습니다. –
@Antionio 질문을 귀하가 시도한 것으로 업데이트 할 수 있습니까? 내가 제안한대로'if (client.readyState == 4) { if (client.status == 200) {'onreadystatechange' 메소드에 추가 했습니까? –
우리는 실제로 전체 아이디어를 폐기하고 비동기 로그인없이 진행했습니다. –