【发布时间】:2018-07-09 21:51:34
【问题描述】:
我正在尝试使用 Spring Boot 重写我的登录部分。目前,我的数据发布得很好,后端正在获取它,但我的成功功能没有被触发。我的后端没有抛出任何错误,但我在浏览器上收到 404 错误。
这是我的帖子:
$.ajax({
type: "POST",
url: "login",
data: "&username=" + username.value + "&password=" + password.value
}).done(function(response) {
var resp = JSON.parse(response);
if (resp.loginResult === "false") {
//TODO
} else {
//TODO
}
});
控制器:
@Controller
@Scope("session")
public class LoginController {
@GetMapping("/login")
public String login() {
return "login";
}
@PostMapping("/login")
public String login(HttpServletRequest request) {
HttpSession session = request.getSession();
StringBuilder json = new StringBuilder();
String username = request.getParameter("username");
String password = request.getParameter("password");
if (userExists()) {
session.setAttribute("isLoggedIn", "true");
session.setAttribute("userID", username);
session.setAttribute("userType", "employee");
json.append("{");
json.append("\"loginResult\": \"true\",");
json.append("\"resultMessage\": \"Logged in\"");
json.append("}");
} else {
System.out.println("Username or password does not match.");
json.append("{");
json.append("\"loginResult\": \"false\",");
json.append("\"resultMessage\": \"Bad Login\"");
json.append("}");
}
return json.toString();
}
}
我试图只返回一个可以在前端解析的 JSON 字符串,并根据resultMessage 做任何需要做的事情。对不起,如果我的代码很丑,我还是 Spring 新手,欢迎任何建议!
这是我浏览器控制台中的错误:
POST http://localhost:8080/BedrockWeb/login 404 ()
我假设我没有正确返回我的 JSON 字符串。
【问题讨论】:
-
为什么不创建一个对象然后返回该对象。 Spring会将对象转换为Json
标签: java jquery spring spring-mvc spring-boot