SpringMvc与前台ajax数据传递

前言:

  实际项目开发中,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();
    }

     

原文地址:https://www.cnblogs.com/yixtx/p/8358509.html