$.post() $.get()

$.ajax({ }) 和$.post()(jQuery对原生ajax的封装)同样都是ajax的异步请求:

<button οnclick="sendJson()">原生Json数据交互测试</button>
<button οnclick="sendJson2()">Json数据交互测试</button>
</body>
<script type="text/javascript">
 function sendJson(){
     $.ajax({
         url:"${pageContext.request.contextPath }/item/jsontest.action",
         type:"post",
         data:'{"id":1,"name":"李思思","price":2300,"createtime":"2017-09-09 12:23:09"}',
        contentType:"application/json;charset=utf-8",
        success:function(data){
            alert(data.id+":"+data.name);
        }

     })
 }
 function sendJson2(){
    
     $.post("${pageContext.request.contextPath }/item/jsontest2.action",
             {"id":1,"name":"张三","createtime":"2017-09-09 12:23:09"},function(data){
         alert(data.name);
     },"json")
 }
</script>


下面说说他们的不同:$.post()携带的参数格式:


注意:此处无@RequestBody (key值与pojo属性名称一致,会映射到对象中去)

//@RequestBody:接收json数据并转换成pojo对象
//@ResponseBody:响应json数据,把java对象转换成json并响应
@RequestMapping("/jsontest2.action")
@ResponseBody
public Items jsontest2( Items items) {
    return items;
}


二者中content-Type:也是不一样的哦,一定要注意哦


$.ajax({})携带的参数格式:

此处日期格式有问题,会报错:400 (Bad Request)

//@RequestBody:接收json数据并转换成pojo对象
    //@ResponseBody:响应json数据,把java对象转换成json并响应
    @RequestMapping("/jsontest")
    @ResponseBody
    public Items jsontest(@RequestBody Items items) {
        return items;
    }

解决办法:实体类加注解(仅限yyyy-MM-dd HH:mm:ss)

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createtime;

实体类加注解(此种 格式yyyy-MM-dd)

// @DateTimeFormat(pattern="yyyy-MM-dd")
 private Date createtime;
---------------------
作者:yunfei_run
来源:CSDN
原文:https://blog.csdn.net/weixin_39709686/article/details/78680754
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值