1、ajax的url填写:
web.xml配置了这个:
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<!-- 匹配所有请求,此处也可以配置成 *.do 形式 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
所以在jsp的url就不要加 /
$.ajax({
type:"post",
url:"showUser.do",
data:{},
success:function (data) {
console.log(data);
}
});
后台controller接收:url加 /
@RequestMapping("/showUser")
2、第二种ajax请求方式
1)jsp的js中
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("test").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "showUser.do", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("id=1");
2)controller中
@RequestMapping("/showUser.do")
public void selectUser(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
long userId = Long.parseLong(request.getParameter("id"));
User user = this.userService.selectUser(userId);
ObjectMapper mapper = new ObjectMapper();
response.getWriter().write(mapper.writeValueAsString(user));
response.getWriter().close();
}
附ajax前端后台接收数据方式:
$.ajax({
type:"post",
url:"showUser.do",
data:{},
success:function (data) {
console.log(data);
}
});
@RequestMapping("/showUser")
@ResponseBody
public String selectUser(){
System.out.println("213");
int id = 1;
user = userService.selectUser(id);
System.out.println(user.getUsername());
return user.getUsername();
}