我有一个问题,一个成功的Ajax POST(200)请求j_spring_security_check没有正确重定向到一个success.jsp页面 - 这是在同一目录中登录页面。 login.jsp页面只是重新显示 - 我不明白为什么(请注意,我对ajax相当陌生)。成功的Ajax后弹簧安全不重定向
以下是我的login.jsp页面的内容。任何帮助将大大收到:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<%--<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>--%>
<title>Money Tracker - Logon</title>
</head>
<body>
<div>
<header>
</header>
<section>
<div id="dialog" title="Login">
<form id="login">
<label for="userName">User:</label>
<input id="userName" type="text" name="userName">
<br>
<label for="password">Password:</label>
<input id="password" type="password" name="password">
<br>
<label for="rememberMe">Remember me</label>
<input id="rememberMe" type="checkbox" name="rememberMe"/>
<br>
<button type="submit">Login</button>
</form>
</div>
</section>
</div>
<script>
function ajaxLogin(form) {
var userName = form.userName.value;
var password = form.password.value;
var rememberMe = form.rememberMe.value;
$.ajax({
cache: false,
type: 'POST',
url: "/server/j_spring_security_check",
crossDomain: true,
async: false,
data: { j_username: userName, j_password: password, _spring_security_remember_me: rememberMe },
beforeSend: function (xhr) {
xhr.setRequestHeader("x-ajax-call", "true");
},
success: function (result, xhr) {
alert("Request was success. Status is: " + xhr.status);
if (result == "ok") {
alert("Result was OK. Status is: " + xhr.status);
window.location.href = "success.jsp";
} else {
alert("Result was not OK. Status is: " + xhr.status);
location.href = "loginFailed.jsp";
}
},
error: function (xhr) {
alert("Error with request. Status is: " + xhr.status);
location.href = "loginFailed.jsp"
},
complete: function(result) {
}
});
}
$(function() {
$("#login").submit(function() {
ajaxLogin(this)
});
});
</script>
</body>
</html>
ajax请求不会重定向父页面。而不是ajax请求使用正常的表单提交 –
您好coding_idiot,我只需要提交登录请求的形式?正如我向Vinoth提到的那样,这只是一个轻量级,无状态,基于REST的服务器。所以客户端可以是任何东西 - 我需要一个通用的登录方式。 – Ruaghain
你试过Google搜索[Rest Authentication](https://www.google.co.in/search?q=rest+authentication&oq=rest+ authentication&aqs = chrome.0.69i59j0l5.1870j0j9&sourceid = chrome&espv = 210&es_sm = 122&ie = UTF-8) –