DateTime使用Web Api转换数据发布?

时间:2013-09-17 06:54:34

标签: angularjs asp.net-web-api

我正在使用AngularJS开展MVC 4项目。我的表格中有一些日期。当我使用 $ http.post()将数据发布到服务器时,我遇到了一个奇怪的问题。当我发布任何日期,如1月01,2013被转换为12/31/2012在服务器上,在Server Post上出错。我的代码库中没有出现问题。

希望你有我的问题。

1 个答案:

答案 0 :(得分:0)

处理日期时,必须注意它们在前端和后端的序列化方式。没有标准。

鉴于你的描述和缺乏其他背景,我怀疑这是一个时区问题。

  • 你在当地发展吗?即浏览器和服务器是否在同一台机器上运行?
  • (如果没有)服务器使用的时区是什么? UTC?

这是一篇详细介绍JSON日期序列化问题的帖子:"On the nightmare that is JSON Dates. Plus, JSON.NET and ASP.NET Web API"

如果您不确定序列化的内容,可以使用curl(* nix或cygwin工具)或"Fiddler"之类的内容来查看原始响应。其他要做的事情是明确使用日期的toString()方法将日期序列化为字符串(并在服务器端进行更改,看到您正在使用.Net)来明确控制反序列化。