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

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

<dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
        <!-- json解析包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.5.2</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.2</version>
        </dependency>

如果是普通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一样即可自动赋值上去

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值