Страница, которую вы ищете, использовала введенную вами информацию.Возврат на эту страницу может привести к тому, что любое действие, которое вы предприняли, будет повторено - PullRequest
0 голосов
/ 20 мая 2019

Я получил это сообщение "Страница, которую вы ищете, использовала введенную вами информацию. Возврат на эту страницу может привести к тому, что любое предпринятое вами действие будет повторено. Хотите продолжить?" когда я пытаюсь обновить страницу.

Это мой метод управления

@PostMapping("/savePost")
public String savePost(@RequestParam("content") String content,
        @RequestParam(value = "publicPost", required = false) String[] publicPost, ModelMap model) {
    boolean isPrivate = publicPost == null ? true : false;
    postService.savePost(userService.getLoggedUsername(), content, isPrivate);
    // Get user posts
    String username = userService.getLoggedUsername();
    if (username != null) {
        model.addAttribute("posts", postService.findUserPosts(username));
        return "createPost";
    } else {
        return "login";
    }
}

и это моя HTML-форма

<form action="/savePost" method="POST">
 .....
 </form>

любой метод, как это решить?

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Если вам нужна идемпотентная операция, то есть та, в которую вы можете отправлять одни и те же данные так часто, как хотите, используйте метод PUT и соответственно реализуйте бэкэнд.Это также означает, что вы не можете легко использовать HTML-форму и вам нужно будет использовать сценарии для отправки данных в бэкэнд (вызов PUT).А на бэкэнде это означает, что вам нужно убедиться, что вы не создаете дубликаты, когда отправляете одни и те же данные дважды, что обычно означает, что либо путь, либо тело сообщения содержат идентификатор того, что вы хотите обновить / создать.

Если вы не хотите идти по этому пути, текущее поведение будет таким, как задумано, - и как вы обычно хотели бы, чтобы оно работало.

0 голосов
/ 20 мая 2019

В конце этой страницы W3 Schools в таблице сравниваются методы HTTP GET и POST для хранения и отправки параметров, в первой строке указывается описанная вами функция браузера, одним из решений может быть использование ПОЛУЧИТЕ метод в вашем теге формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...