前言:
实际项目开发中,ajax使用很频繁,主要做一些数据验证,数据获取等需求。
1.springmvc+ajax交互方式:
1.1.text类型数据
前端:
$.ajax({
url:'${pageContext.request.contextPath}/zy/user/existLoginName',//请求地址
type:'post',//请求类型
data:{loginName:$("#loginName").val()},//传入后台数据
dataType:'text',//后台返回数据类型
success : function(data) {
alert("成功!");
},
error:function(data){
alert("服务器异常!");
}
})
后台:
@RequestMapping("/existLoginName")
public void existLoginName(HttpServletRequest request,HttpServletResponse response){
String zh = request.getParameter("loginName");
User u = userService.selectUserByLoginName(zh);
try {
if(u!=null){
response.getWriter().write("exist");
}else{
response.getWriter().write("ok");
}
} catch (IOException e) {
e.printStackTrace();
}
}
1.2.json类型数据
1.2.1.后台@ResponseBody传数据到前台
前端:
$.ajax({
url:'${pageContext.request.contextPath}/user/existLname',
type:'post',
dataType:'json',
data:{loginName:$("#loginName").val()},
success:function(data){
alert(data.msg);
}
//注意:这里不能加下面这行,否则数据会传不到后台
//contentType:'application/json;charset=UTF-8',
})
后台:
@RequestMapping("/existLname")
@ResponseBody
public Map<String, String> searchUser(String loginName){
User u= userService.selectUserByLoginName(loginName);
Map<String,String> map = new HashMap<String,String>();
if(u!=null){
map.put("msg", "no");
}else{
map.put("msg", "ok");
}
return map;
}
1.2.2.后台@RequestBody接收数据
前端:
$.ajax({
url:'${pageContext.request.contextPath}/user/existLname',
type:'post',
contentType:'application/json;charset=UTF-8',//必须有
dataType:'json',
data:{loginName:$("#loginName").val()},
success:function(data){
alert(data.msg);
}
})
后台:
@RequestMapping("/existLname")
@ResponseBody
public String searchUser(@RequestBody String loginName){
User u= userService.selectUserByLoginName(loginName);
JSONObject jo = new JSONObject();
if(u!=null){
jo.put("msg", "no");
}else{
jo.put("msg", "ok");
}
return jo.toString();
}