ajax日期参数格式问题
今天遇到ajax传输日期参数后台无法识别的问题,错误异常如下。从异常中可以看出传输到后台的日期数据格式为Thu Aug 13 2015 19:45:20 GMT+0800 (中国标准时间),这种格式的日期数据格式服务端无法解析。 Caused by: java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "Mon Aug 17 2015 12:00:40 GMT+0800 (中国标准时间)"
at org.springframework.beans.propertyeditors.CustomDateEditor.setAsText(CustomDateEditor.java:111) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:449) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:422) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:195) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:107) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:64) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
... 39 common frames omitted
$.ajax({
url: './test/ajax.do',data: {
start: new Date(),end: new Date()
},dataType: 'json',type: 'post'
}).done(function(json){
console.dir(json);
});
日期格式(年-月-日 时:分:秒)//DateUtils请看博客http://blog.csdn.net/accountwcx/article/details/47446225
$.ajax({
url: './test/ajax.do',data: {
start: DateUtils.format(new Date(),'yyyy-MM-dd HH:mm:ss'),end: DateUtils.format(new Date(),'yyyy-MM-dd HH:mm:ss')
},type: 'post'
}).done(function(json){
console.dir(json);
});
浏览器提交的日期数据格式 服务端处理日期(SpringMVC) @Controller
@RequestMapping("/test")
public class TestController {
@InitBinder
public void initBinder(WebDataBinder binder){
//日期处理
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
df.setLenient(false);
binder.registerCustomEditor(Date.class,new CustomDateEditor(df,true));
}
/** * 日期 * @param start 开始日期 * @param end 结束日期 * @param response */
@RequestMapping("/ajax.do")
public void ajax(Date start,Date end,HttpServletResponse response){
response.setContentType("text/plain;charset=utf-8");
response.setCharacterEncoding("utf-8");
Map<String,Object> json = new HashMap<String,Object>();
json.put("start",start);
json.put("end",end);
try{
//把日期返回去
response.getWriter().write(JSON.toJSONString(json));
}catch(IOException e){
e.printStackTrace();
}
}
}
日期格式(1970年1月1日到现在的毫秒数)$.ajax({
url: './test/ajax.do',data: {
start: new Date().getTime(),end: new Date().getTime()
},type: 'post'
}).done(function(json){
console.dir(json);
});
浏览器提交的日期数据格式 服务端处理日期(SpringMVC) @Controller
@RequestMapping("/test")
public class TestController {
/** * 日期 * @param start 开始日期 * @param end 结束日期 * @param response */
@RequestMapping("/ajax.do")
public void ajax(Long start,Long end,HttpServletResponse response){
response.setContentType("text/plain;charset=utf-8");
response.setCharacterEncoding("utf-8");
Date startDate = new Date(start);
Date endDate = new Date(end);
Map<String,startDate);
json.put("end",endDate);
try{
//把日期返回去
response.getWriter().write(JSON.toJSONString(json));
}catch(IOException e){
e.printStackTrace();
}
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- arcpy.UpdateCursor和arcpy.da.UpdateCursor计算面积时间的
- XML Condition And
- .net – 如何:后退按钮支持“Ajax”
- ruby-on-rails-3 – 如何在Rails 3中访问模型中的cookie
- c# – System.UnauthorizedAccessException:拒绝访问路径“
- Oracle笔记 七、PL/SQL 异常处理
- sqlite:别名列名不能包含点“.”
- c# – 插入或更新方案中的SQL Server批量插入/更新与MERGE
- postgresql – 针对内存中的h2数据源运行Jasper报告?
- React原理探索- @providesModule 模块系统