问题描述: 在Angular中使用FormData对象将数据传递到WebAPI时,WebAPI接收到的数据为空值。
解决方法:
// 创建一个空的FormData对象
const formData = new FormData();
// 添加数据到FormData对象中
formData.append('name', 'John');
formData.append('age', '30');
// 使用FormData对象发送POST请求到WebAPI
this.http.post('api/endpoint', formData).subscribe(
response => {
console.log(response);
},
error => {
console.error(error);
}
);
Request.Form
属性来获取FormData对象中的数据。以下是一个示例代码:[HttpPost]
public IHttpActionResult MyEndpoint()
{
// 使用Request.Form获取FormData中的数据
var name = Request.Form["name"];
var age = Request.Form["age"];
// 处理接收到的数据
// ...
return Ok();
}
请注意,如果使用的是ASP.NET Core WebAPI,可以使用IFormCollection
接口来获取FormData中的数据:
[HttpPost]
public IActionResult MyEndpoint([FromForm] IFormCollection formData)
{
var name = formData["name"];
var age = formData["age"];
// 处理接收到的数据
// ...
return Ok();
}
通过以上方法,您应该能够正确地将FormData对象传递到WebAPI并获取到正确的值。
上一篇:Angular传递点击值