这是我的6角代码
saveQuestion(value : string) : Observable<string> {
console.log(value)
let params = new HttpParams();
params = params.set('id', value);
return this._http.post<string>(this.subjectAPi + 'api/Question/Save/', {params});
}
下面是我的.net核心代码
[HttpPost("[action]")]
public IActionResult Save([FromBody]string id)
{
Question ob = new Question();
ob.update(id) // id is always null
return Ok("1");
}
ID始终为空。建议将不胜感激
答案 0 :(得分:0)
如果我没有记错的话,默认情况下,ASP.NET Core不会 不是 使用camelCasing。尝试将id
中的HttpParams
重命名为Id
。
saveQuestion(value : string) : Observable<string> {
let params = new HttpParams();
params = params.set('Id', value);
return this._http.post<string>(this.subjectAPi + 'api/Question/Save/', {params});
}
答案 1 :(得分:0)
HttpParams用于准备URL编码的参数,如果您想在JSON中发布正文,则不需要。尝试仅简单地创建您的数据,例如:
let body = { id: value }
this._http.post<string>(this.subjectAPi + 'api/Question/Save/', body);
如果您真的想将正文作为URL编码数据发布,请尝试设置Content-Type请求标头:
this._http.post<string>(this.subjectAPi + 'api/Question/Save/', params.toString(), {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
});