Ser*_*gio 21 javascript asp.net-mvc
我正在使用jQuery日历来显示事件,这些事件旨在从服务器中提取数据.在innit上,日历会触发AJAX请求以获取事件对象数组(json编码).到目前为止都很好.但是,此请求包含一个JSON编码的日期和时间(在我的实施中).代码如下所示:
data: function (start, end, callback) {
$.post('/planner/GetPlannerEvents', { test: "test", start: JSON.stringify(start), end: JSON.stringify(end) }, function (result) { callback(result); });
}
Run Code Online (Sandbox Code Playgroud)
GetPlannerEvents控制器方法的声明如下所示:
public ActionResult GetPlannerEvents(DateTime start, DateTime end)
Run Code Online (Sandbox Code Playgroud)
问题是asp.net mvc 2似乎无法自动解析json编码的日期时间,因此抱怨start和end值为null.
我应该使用另一种方法将javascript日期传递给服务器,以便正确解析它们吗?
谢谢,
Dar*_*rov 49
您不应该使用JSON编码日期,stringify因为默认模型绑定器不期望JSON.试试这个:
$.post('/planner/GetPlannerEvents', { start: start.toUTCString(),
end: end.toUTCString() }, function (result) {
callback(result);
});
Run Code Online (Sandbox Code Playgroud)
尝试使用date.toISOString()将数据传递到服务器.它以ISO8601格式返回字符串.此方法也可用于格式化在uri中使用的日期.
$.post('/planner/GetPlannerEvents', { start: start.toISOString(),
end: end.toISOString() }, function (result) {
callback(result);
});
Run Code Online (Sandbox Code Playgroud)
为什么toISOString比这更好toUTCString?
toUTCString转换为UTC时区中的人类可读字符串.
toISOString转换为通用ISO格式,允许解决区域设置和不同格式的问题.
| 归档时间: |
|
| 查看次数: |
24131 次 |
| 最近记录: |