我无法使用浏览器发送 POST 请求?

I can't send a POST request using my browser?

我正在开发一个使用 Spring Boot MVC 的应用程序,我有一个登录页面,每当我使用 chrome 在表单上输入数据时,我的浏览器都不会将我重定向到我的页面在我的控制器 class 中指定,但它在应该发送 POST 请求的地方发送 GET 请求。这是我的控制器class

@Controller
@RequestMapping("/login")
public class loginController {
private final AuthService authService;

public loginController(AuthService authService) {
this.authService = authService;
}

 @GetMapping
  public String returnLogIn() {
  return "login";
  }

@PostMapping
public String login(@RequestParam String username, @RequestParam String password, Model model) {

User user = null;
try {
    user = this.authService.login(username, password);
    model.addAttribute("User", user);
    return "redirect:/home";
} catch (InvalidArgumentsException exception) {

    model.addAttribute("hasError", true);
    model.addAttribute("error", exception.getMessage());
    return "login";
}

} } 如您所见,如果登录成功,那么我应该被重定向到主页,但它并没有发生,我再次被重定向到登录页面,所有的变化都是 URL 我给的参数被附加。但是当我使用 POSTMAN 时,一切正常,一个 POST 请求被发送,我被重定向到 /home 页面,就像我在我的控制器 class 中指定的那样。但是我不知道为什么当我使用 chrome 时不会发生这种情况。每次我做一个小改动都必须使用 POSTMAN 真的很耗时。这也是 HTML 形式

<form id="form-id"  th:action="@{/login}" th:method="post">
            <div class="mb-3">
                <input  type="text" class="form-control" name="username" id="username"  aria-describedby="emailHelp"
                       placeholder="User Name">
            </div>
            <div class="mb-3">
                <input type="password" class="form-control" name="password" id="password" placeholder="Password">
            </div>
            <!-- TODO use hasError set it in the model -->
            <div th:if="${hasError}">
            <span class="error text-danger" th:text="${error}"></span>
            </div>

            <div class="text-center"><button type="submit" class="btn btn-color px-5 mb-5 w-100 btn btn-dark" >Login</button></div>
            </form>

我不认为我的代码有什么问题,因为当我使用 POSTMAN 时一切正常,但我真的不知道为什么当我使用我的浏览器时它不起作用。 Javascript 在我的浏览器中启用了我真的不知道似乎是什么问题。我也尝试将 POST 请求映射到不同的 URL 但我仍然遇到同样的问题。

我也相信你的代码示例没有问题,因为如果有问题,它应该不会从 POSTMAN 正确响应,除非你已经配置了应用程序服务器并限制了来自浏览器的请求。 我可以给你的建议是在使用Fiddler(Fiddler是一个强大的网络调试代理)等工具发送请求时监控请求,以查看两个请求是否向服务器发送相同的参数。