【发布时间】:2018-08-15 22:16:31
【问题描述】:
所以我试图通过 Angular 服务中的 put 调用将字符串传递给我的 Web Api。服务实际上是调用Web Api端的方法,但是参数总是通过null来的。有人能解释一下吗,谢谢。
代码如下:
Web Api:(断点设置在第一个括号上)
public void Put([FromBody]string userId)
{
}
角度:
UpdateManagerEmail(userId){
userId = '577f1e6e-146d-49f1-a354-b31349e7cb49';
const headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');
this._http.put('http://localhost:428/api/User', {
userId : userId
}).subscribe(returnVal => {
console.log('returned');
});
}
【问题讨论】:
-
您是否在开发者工具的网络选项卡中看到您的请求中发送的参数?
-
我可以在请求负载中看到它
-
你试过删除 [FromBody] 吗?
-
没有FromBody,它不会被调用
-
你试过用引号包裹字符串吗?
this._http.put('http://localhost:428/api/User', '"' + userId + '"')或设置变量var data = userId并将数据传递给 put 方法?this._http.put('http://localhost:428/api/User', data)