【发布时间】:2017-12-01 17:19:33
【问题描述】:
我有一个 Web API 2 控制器:
[HttpGet]
[Route("api/MyRoute/{date:datetime}")]
public IHttpActionResult Get(DateTime date)
{
return Ok(date);
}
还有一个角度 $http get 调用:
$http.get("/api/MyRoute/" + new Date());
这不起作用,我收到 404 错误。
在 404 之后我也收到此错误:
XMLHttpRequest 无法加载 http://localhost:2344/api/MyRoute/2017-06-28T00:00:00.000Z。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
但是,如果我将参数更改为除日期之外的任何内容。
我已经尝试过 new Date().toISOString() 并且效果相同。
那么如何将日期从 Angular 传递到 Web API 控制器?
【问题讨论】:
-
刚试过。结果相同。
-
试试 '$http.get("/api/MyRoute/" + encodeURIComponent(new Date()))' 或 '$http.get("/api/MyRoute/" + encodeURIComponent(new Date().toISOstring()))'
标签: angularjs asp.net-web-api asp.net-web-api2 angular-http