Sun*_*Sun 5 asp.net-web-api angularjs angular-http asp.net-web-api2
我有一个Web API 2控制器:
[HttpGet]
[Route("api/MyRoute/{date:datetime}")]
public IHttpActionResult Get(DateTime date)
{
return Ok(date);
}
Run Code Online (Sandbox Code Playgroud)
和有角的$ http get调用:
$http.get("/api/MyRoute/" + new Date());
Run Code Online (Sandbox Code Playgroud)
这不起作用,我收到404错误。
404之后,我也收到此错误:
XMLHttpRequest无法加载http:// localhost:2344 / api / MyRoute / 2017-06-28T00:00:00.000Z。对预检请求的响应未通过访问控制检查:请求的资源上不存在“ Access-Control-Allow-Origin”标头。
但是,如果我将参数更改为除日期以外的任何参数,它将起作用。
我已经尝试过新的Date()。toISOString(),并且做到这一点。
那么如何将日期从Angular传递到Web API控制器?
问题似乎与路由属性中的日期时间规范有关。解决方案是将其删除并将路线定义为
[HttpGet]
[Route("api/MyRoute")]
public IHttpActionResult Get(DateTime date)
{
return Ok(date);
}
Run Code Online (Sandbox Code Playgroud)
然后从客户端调用api
$http.get("/api/MyRoute?date=" + new Date().toISOString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2265 次 |
| 最近记录: |