这是一个 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";
}
}
这是图片:
在此处输入图片描述