В моей функции JQuery я перенаправлять Использование window.location.href так:Как перенаправить в JQuery с помощью POST вместо GET
window.location.href = "${pageContext.request.contextPath}/redirectUser.ajax?login="+response.result.name;
Он отлично работает, но я вижу эту строку в браузере, как это :
http://localhost:8080/task7/redirectUser.ajax?login=user
Мой контроллер использует GET
@RequestMapping (value="/redirectUser.ajax",method = RequestMethod.GET)
public String forwardUserToUsersPage(ModelMap model, HttpServletRequest req){
User foundedUser = userDao.findByLogin(req.getParameter("login"));
req.getSession().setAttribute("user", foundedUser);
return "userPage";//to WEB-INF/jsp/userPage.jsp
}
Как я могу переписать эту часть приложения, чтобы использовать r Метод POST для перенаправления и обработки в контроллере?
Вот функция, которая получает ответ от servler (часть функции на самом деле)
function doAjaxPost() {
// get the form values
var queryString = $('#loginform').formSerialize();
$.ajax({
type: "POST",
url: "${pageContext. request. contextPath}/loginUser.ajax",
data: queryString,
//"name=" + name + "&pswd=" + pswd,
success: function(response){
// we have the response
var delay = 1500;
if (response.status == "OK_USER") {
$('#error').html('');
$('#info').html("Login exists, password is correct everything will be fine.<br> Redirect to User's page");
//var delay = 3000;
setTimeout(function() {
window.location.href = "${pageContext.request.contextPath}/redirectUser.ajax?login="+response.result.name;
}, delay);
}
....
Так как я могу перенаправить с помощью JQuery или что-то еще с помощью метода POST?
Форма, подтверждающая использование плагина проверки jQuery. Эта функция получает ответ от контроллера, а затем перенаправляет пользователя на userPage.jsp или на adminPage.jsp. Я сделал это, используя простой javascript window.location.href Возможно, есть такая же функция в jQuery? –
К сожалению, ваше решение не работает. Я просто получаю эту строку в своем браузере в блоке страницы: {"status": "OK_USER", "result": {"name": "user", "pswd": "123"}} Я изменил контроллер на POST и добавил @ModelAttribute (значение = "login") Строковый логин, Все еще не работает –
В этом случае вы не указали правильный URL-адрес для входа пользователя. Если используется 'redirectUser.ajax' для прерывания с помощью 'ajax' и возврата данных, отформатированных в' json', вы должны использовать его как таковой. Посмотрите на логику своего приложения и проверьте, как пользователь должен пройти аутентификацию. – LeGEC