控制器的方法不是从ajax调用的

问题描述 投票:0回答:1

我正在使用 SpringBoot 构建一个简单的 Web 应用程序。 所以我构建了一个简单的 html 表单来在控制器端发送用户名和密码。 这是login.html页面

<html lang="en" xmlns:th=http://www.thymeleaf.org
      xmlns:sec=http://www.thymeleaf.org/extras/spring-security
      xmlns:shiro=http://www.pollix.at/thymeleaf/shiro xmlns:form="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"
            integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
            crossorigin="anonymous"></script>
    <script>


        $(document).ready(function() {
  $("#submit").click(function() {
   alert("pippo");

    console.log("chiamata ");
    $.ajax({
      type: "POST",
      url: "http://localhost:8080/loginsubmit",
      user: {
        username: "michele.castriotta",
        password: "password"
      }/*,
      success: function(msg) {
        console.log(mgs);
        alert(msg);
      }*/
    });
  });
});
    </script>
</head>
<body>
<h1>Login screen</h1>

<form:form action="loginsubmit" method="post" modelAttribute="user">
    <label>Username</label>
    <input type="text" name="username">
    <label>Password</label>
    <input type="text" name="password">
    <p>
        <input id="submit" name="submit" type="submit" value="Submit" /> </p>
</form:form>
</body>
</html>

这是我的控制器.java 类:

package it.easyEuc.springsecuritycustomlogin;
import it.easyEuc.springsecuritycustomlogin.model.LoginModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
public class LoginController {
    Logger logger = LoggerFactory.getLogger(LoginController.class);
    @GetMapping("/login")
    public String login(){
        logger.info("login get");
        return "login";
    }

    @PostMapping("/loginsubmit")
    public String loginsubmit(@ModelAttribute LoginModel user) {
        logger.info("login post");
        //model.addAttribute("username", login.getUsername());
        //model.addAttribute("password", login.getPassword());
        return "result";
    }

}

问题是,当我点击提交按钮时,没有调用java控制器的“loginsubmit”方法。

我可以做什么来修复它

这是控制台日志

java ajax spring spring-boot
1个回答
-1
投票

您收到 HTTP 404 错误吗? 你启用WebMvc了吗? 你的 get 映射工作正常吗?

© www.soinside.com 2019 - 2024. All rights reserved.