это проект ssm, я могу успешно использовать только ajax или modelAndView, но когда я их объединяю, он терпит неудачу.Вот мой код и картинка времени выполнения (я хочу, чтобы вы объяснили, как это работает, и поэтому я ценю вас):JSP код:</p>
<pre><code>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
Код контроллера:</p>
<pre><code> @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";
}
}
Вот картинка: введите описание изображения здесь