Response.sendRedirct () URL не открывается в браузере - PullRequest
0 голосов
/ 10 января 2020

Usecase: У меня есть конечная точка отдыха publi c в приложении SpringBoot, которая перенаправит пользователя на страницу Angular.

У меня есть код ниже для перенаправления запрос от моего RestController:

@RequestMapping(value = "/search", method = RequestMethod.POST)
public ResponseEntity<?> search(HttpServletRequest request, HttpServletResponse response) {

    // some logice

    response.sendRedirect("http://localhost:4200/#/entry");
    return new ResponseEntity(HttpStatus.OK);   
}

Для проверки конечной точки у меня есть страница HTML с кодом ниже:

<h1>Public Tracking</h1>
<button onclick="loadDoc()">Search</button>
<script>
    function loadDoc() {
        console.log("button clicked");
        var xhttp = new XMLHttpRequest();
        xhttp.open("POST", "http://localhost:8080/api/search", true);
        xhttp.send();
    }
</script>

В консоли браузера и сети я мог видеть, что перенаправленный запрос получен, но страница не открывается. Я мог видеть страницу Angular в теле ответа, но как я могу получить ее в браузере?

success response

PS: я видел другие сообщения, которые говорят response.sendRedirect() не работает. В моем случае это работает, но я не открываю страницу.

1 Ответ

0 голосов
/ 27 января 2020

Похоже, что работает с отправкой формы. Случилось исправить с помощью приведенного ниже кода:

<form method="POST" id="mySearchForm">
    <input type="submit" value="Search">
</form>

<script>
    document.getElementById('mySearchForm').action = "http://localhost:8080/api/search";
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...