1

这是一个 ssm 项目,我可以单独使用 ajax 或 modelAndView 成功,但是当我集成它们时,它失败了。

这是我的代码和运行时图片(我希望你解释它是如何工作的,所以我很感激你):

jsp代码:

div class="div_style"
    input type="button" id="loginWithAjax" onclick="loginWithAjax()"
           value="login_with_ajax"
/div
script type="application/javascript"
    function loginWithAjax() {
        var loginData = {"userAccount": "10001", "userPassword": "123456"};
        $.ajax({
            type: "post",
            url: "<%=basePath%>/user/checkLoginInfo2.do",
            contentType: "application/json",
            async: false,
            dataType: "json",
            data: JSON.stringify(loginData),
            success: function (data) {
                if (data == "SUCCESS") {
                    alert("ajax login succeed...");
                } else {
                    alert("user account pwd error");
                }
            },
            error: function () {
                alter("loginWithAjax-error:function()");
            }
        });
    }
/script



控制器代码:

    @RequestMapping("checkLoginInfo2.do")
    public String checkLoginInfo2(@RequestBody String json) {
        System.out.println(json);
//        ModelAndView modelAndView = new ModelAndView();
        JSONObject jsonObject = JSONObject.parseObject(json);
        System.out.println(jsonObject.get("userAccount").equals("10001"));
        System.out.println(jsonObject.get("userPassword").equals("123456"));
        if (jsonObject.get("userAccount").equals("10001") && jsonObject.get("userPassword").equals("123456")) {
            System.out.println(11111);
//            modelAndView.setViewName("main");
//            return modelAndView;
            return "main";
        } else {
            System.out.println(22222);
//            modelAndView.setViewName("error/404");
//            return modelAndView;
            return "error/404";
        }
    }



这是图片:

在此处输入图片描述

4

0 回答 0