ajax好还是jquery好,JQ Ajax应该选择Json还是Json字符串向后端传递比较合适?

比如说,现在需求是希望把前端的数据传向SpringMVC,绑定在请求方法的一个实体参数中

@Request(value="test", method=RequestMethod.POST) @ResponseBody

public String test(TwoDate td) {

return td.toString();

}

其中,TwoDate是那个实体类,有两个被@DateTimeFormat所标记的Date类型的私有域。

1、我尝试了一下以下的方式

$.ajax({

type:"post",

url:"/test",

data:saveData,

success:function(data) {

alert(data);

},

error:function(data) {

alert('error');

}

});

没有问题,前端的saveData成功绑定到了TwoDate td中。

2、随后,我换了以下的方式

$.ajax({

type:"post",

url:"/test",

dataType:"json",

contentType : 'application/json',

data:JSON.stringify(saveData),

success:function(data) {

alert(data);

},

error:function(data) {

alert('error');

}

});

并在请求方法的参数前面追加了个@RequestBody 注解,

报了HTTP-400错误,控制台提示我

org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpMessageNotReadable

Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Can not deserialize value of type java.util.Date from String "2017-01-01 02:03:04": not a valid representation (error: Failed to parse Date value '2017-01-01 02:03:04': Can not parse date "2017-01-01 02:03:04Z": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'', parsing fails (leniency? null))

非常奇怪,而当我把实体类的两个域的类型从Date改成String后,又正常了

3、我的dispatcherservlet.xml的配置关于消息转换的配置是这样的

所以我想问一下,实际开发中,向后端传递JSON字符串是否更合适?

JSON字符串有办法绑定到含有Date类型的实体中吗?

如果没有办法,那么大家的做法是否是将这些Date类型换成String类型吗?

不胜感激:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值