Итак, я пытаюсь следовать документации Spark и хочу выполнить простое перенаправление в своем одностраничном приложении. Мой код выглядит так:
post("/users/login", (req, res) -> {
ObjectMapper mapper = new ObjectMapper();
User creation = mapper.readValue(req.body(), User.class);
User user = userService.getUser(creation.getLogin());
if (user.getPassword().equals(creation.getPassword())) {
req.session().attribute("userid", creation.getLogin());
System.out.println("OK");
res.status(201);
res.redirect("/index.html");
return "";
}
System.out.println("BAD");
return null;
} , json());
По сути, у меня есть три статических html-файла: Registration.html, login.html и index.html. Я читал материал о staticFileLocation, поэтому добавил в начало основной функции следующую строку кода:
staticFileLocation("/public");
Когда я ввожу правильный логин и пароль, я вижу в представлении сети в Chrome, что у меня есть GET-запрос со статусом 200, ОК, на http://localhost:4567/index.html. Однако браузер ничего не делает и не перенаправляет меня на эту страницу. Можете ли вы сказать мне, что я делаю неправильно?
РЕДАКТИРОВАТЬ: Вот код javascript, который обрабатывает вход на стороне клиента:
app.controller('LoginUserCtrl', function($scope, $http) {
$scope.loginUser = {};
$scope.submitForm = function() {
$http({
method : 'POST',
url : 'http://localhost:4567/users/login',
data : $scope.loginUser,
headers : {
'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
}
}).success(function() {
console.log("User logged successfully");
console.log($scope.loginUser);
}).error(function() {
console.log("Unknown error while logging user");
});
};
});