ajax前台传json到后台解析的方法以及注意事项

首先,如果是maven工程的话,需要在pom.xml文件中添加下方依赖


            net.sf.json-lib
            json-lib
            2.4
            jdk15
       

       
        
            com.fasterxml.jackson.core
            jackson-core
            2.5.2
        

        
            com.fasterxml.jackson.core
            jackson-databind
            2.5.2
        

如果是普通java,只要导入相关包即可

 

前台ajax:

var data={"data":"哈哈"};

$.ajax({
            type:"post",
            contentType:"application/json;charset=UTF-8",//一般报415错误都是没设置这个
            headers:{"Content-Type":"application/json;charset=UTF-8"},
            url:"${pageContext.request.contextPath}/admin/tests",
            data:JSON.stringify(data),//如果没有转为json字符串,可能会报400错误
            dataType:"json",
            success:function(data){
                alert(data);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                 alert(XMLHttpRequest.status+"d"+XMLHttpRequest.readyState+"d"+errorThrown);
            }
        })

后台接收:

@RequestMapping(value="tests",method = {RequestMethod.POST })
    @ResponseBody 
    public String tests(@RequestBody JSONObject data){
        String majorID=data.getString("data");

        system.out.println(majorID);
        return "null";
    }

前台提交2:

 //也可以data:$("表单").serialize()来进行提交,这样子的话后台直接新建一个跟表单一样的实体类即可

对应的后台接收2:

@RequestMapping(value="tests",method = {RequestMethod.POST })
 @ResponseBody 
  public String tests(@RequestBody User user){

//自己新建一个跟表单一样类,属性跟表单的name一样即可自动赋值上去

}

你可能感兴趣的:(前台后台数据传递)