我有一个Web API 2控制器:
[HttpGet]
[Route("api/MyRoute/{date:datetime}")]
public IHttpActionResult Get(DateTime date)
{
return Ok(date);
}
一个有角度的$ http来电:
$http.get("/api/MyRoute/" + new Date());
这不起作用,我收到404错误。
我在404之后也遇到了这个错误:
XMLHttpRequest无法加载http://localhost:2344/api/MyRoute/2017-06-28T00:00:00.000Z。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
但是,如果我将参数更改为除日期之外的任何参数。
我尝试过新的Date()。toISOString(),并且也是这样做的。
那么如何将Angular中的日期传递给Web API控制器?
答案 0 :(得分:1)
问题似乎与路由属性中的日期时间规范有关。解决方案是将其删除并定义路径
[HttpGet]
[Route("api/MyRoute")]
public IHttpActionResult Get(DateTime date)
{
return Ok(date);
}
然后通过
从客户端调用api$http.get("/api/MyRoute?date=" + new Date().toISOString());