【发布时间】:2017-01-08 05:34:33
【问题描述】:
我的 Web API 控制器中有以下 POST 方法:
[HttpPost]
public async Task<IHttpActionResult> Post(Hotspot hotspot)
{
try
{
int id = await SomeMethod();
return Ok(id);
}
catch (ArgumentException e)
{
return BadRequest(e.Message);
}
}
然后我发出 POST 请求并尝试获取 id:
var hotspots = $resource('/api/adminhotspots', { save: { method: 'POST' } });
hotspots.save($scope.hotspot).$promise.then(function (id) {
console.log(id);
});
不幸的是,我得到了一个 $promise 对象。我的控制台显示:
m
$promise : d
$resolved : true
我可以在开发者控制台的“网络”选项卡中检查服务器是否正确发送了参数。这确实是正确的。
为什么 $resource 没有捕获参数,我该怎么办?
谢谢!
【问题讨论】:
-
您是否尝试删除 .$promise。因为 save 方法已经返回了一个 promise
-
@ManuelObregozo 我有,但后来我收到以下错误:save().then() is not a function..
标签: angularjs post angular-promise angular-resource