前言:
實際項目開發中,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();
}