【问题标题】:unable to pass complex objects to webapi from angularjs无法从 angularjs 将复杂对象传递给 webapi
【发布时间】:2016-03-06 03:17:04
【问题描述】:

我正在使用下面的代码将数据发布到 webapi 控制器,但复杂的数据对象在 API 控制器中为 null。但是,如果我一次传递对象,我看到的结果意味着它正在通过平面对象发送但不是复杂的对象。谁能指导我在这里做错了什么,或者有没有其他方法可以做到这一点?

以下是我正在使用的数据对象和代码 sn-p: 型号:

var 投资组合={ 帐户:{帐号:'', 社会保障号:'', ..这个对象中几乎有 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
    }
}

【问题讨论】:

    标签: angularjs asp.net-web-api2


    【解决方案1】:

    Json 是http.post() 默认的内容类型,因此不需要指定它,也不需要对你的对象进行字符串化。 假设您要发布一个有效的 json 对象,这就足够了:

    var get = funtion(portfolio){
      return  $http.post('/api/values', portfolio); 
    }
    

    【讨论】:

    • 哦..很高兴知道但由于某种原因它不起作用但我能够接受参数作为 Jobject 并将它们转换为类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    相关资源
    最近更新 更多