这个问题通常是由于数据格式不正确而引起的。在Angular的POST请求中,需要将数据对象序列化为JSON格式,然后将其传递给ASP.NET MVC后端。
以下是一个解决方法的示例代码,该代码假设您的数据对象具有“name”和“age”属性:
Angular代码:
var dataObj = { name : "John", age : 25 };
var config = {
headers : { 'Content-Type': 'application/json' }
};
$http.post('/api/controller/action', JSON.stringify(dataObj), config)
ASP.NET MVC代码:
[HttpPost]
public void SaveData([FromBody] MyDataObject dataObj) {
// Do something with dataObj
}
public class MyDataObject {
public string Name { get; set; }
public int Age { get; set; }
}
这个方法中重要的一点是,需要将请求标头设置为“application/json”,并使用“JSON.stringify”将对象序列化为JSON格式。这允许.NET MVC利用“[FromBody]”属性将JSON反序列化为.NET对象。