我正在使用下面的代码将数据发布到webapi控制器,但复杂的数据对象在API控制器中显示为null。但是,如果我一次传递对象,我看到的结果意味着它正在通过平面对象发送但不是复杂的物体。任何人都可以指导我在这里做错了什么,或者还有其他办法吗?
下面的是我正在使用的数据对象和代码段: 机型:
var portfolio = { 帐户:{ACCOUNTNUMBER: '', SSN: '', ..此对象中的大约15个字段}, 投资:{ID: '', 总金额:'', 等等。我们还有10个以上的对象}
Foo:{F1:'',F2:'',F3:''...}
Foo1:{F11:'',F12:'',F13:''......}
}
角度服务:
var get=funtion(portfolio){
return $http.post('/api/values',
JSON.stringify(portfolio),
{
headers: {
'Content-Type': 'application/json'
}
}
)
}
webapi控制器:
public class ValuesController : ApiController
{
[HttpPost]
public User Post([Frombody]portfolio model)
{
//logic here
}
}
答案 0 :(得分:0)
Json是http.post()
默认内容类型,因此既不需要指定,也不需要对对象进行字符串化。
假设您要发布一个有效的json对象,这应该足够了:
var get = funtion(portfolio){
return $http.post('/api/values', portfolio);
}