亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

發布404錯誤,但我的服務器可以正常運行數據,但無法正常返回

發布404錯誤,但我的服務器可以正常運行數據,但無法正常返回

江戶川亂折騰 2021-05-07 14:12:15
我試圖用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字符串。
查看完整描述

2 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

如果使用Spring,請使用它提供的便利。您可以創建以下類:


public class LoginResult {

    private boolean loginResult;

    private String resultMessage;


    public LoginResult() { }


    public String getResultMessage() {

        return resultMessage;

    }


    public boolean isLoginResult() {

        return loginResult;

    }


    public void setLoginResult(boolean loginResult) {

        this.loginResult = loginResult;

    }


    public void setResultMessage(String resultMessage) {

        this.resultMessage = resultMessage;

    }

}

然后,您必須將控制器方法更改為:


@PostMapping("/login")

@ResponseBody

public LoginResult login(HttpServletRequest request) {

    HttpSession session = request.getSession();


    String username = request.getParameter("username");

    String password = request.getParameter("password");


    LoginResult loginResult = new LoginResult();

    if (userExists()) {

        session.setAttribute("isLoggedIn", "true");

        session.setAttribute("userID", username);

        session.setAttribute("userType", "employee");

        loginResult.setLoginResult(true);

        loginResult.setResultMessage("Logged in");

    } else {

        System.out.println("Username or password does not match.");

        loginResult.setLoginResult(false);

        loginResult.setResultMessage("Bad Login");

    }

    return loginResult;

}


查看完整回答
反對 回復 2021-05-19
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號