通过POST将数据传递给服务器

时间:2016-09-27 16:01:28

标签: javascript c# angularjs ajax asp.net-web-api

我正在尝试使用Angular 1.x发送按钮点击数据。

以下是来自客户端的调试,对象似乎设置正确:

any_of_equal

以下是服务器端的调试,值丢失:

enter image description here

和我的POCO:

[Serializable]
public class Item
{
    public int Id { get; set; }
    public string Key { get; set; }
    public int Value { get; set; }
    public string Description { get; set; }
}

更新

这有效,但相当难看......

enter image description here

我是否可以摆脱转化并使用Item类型作为参数,而不是JObject

3 个答案:

答案 0 :(得分:0)

您希望使用JSON.stringfy()将JavScript值转换为JSON字符串。

$httpost.post("...", JSON.stringify($scope.newItem))

答案 1 :(得分:0)

使用[FromBody]

public Add([FromBody] Item item) { ... }

对于复杂类型,Web API尝试使用媒体类型格式化程序从邮件正文中读取值。这包括[FromBody],[FromUri]和[ModelBinder],或自定义属性。

答案 2 :(得分:0)

在班级声明中添加访问修饰符public

public class Item
{
    public int Id { get; set; }
    public string Description { get; set; }
    public int Key { get; set; }
    public string Value { get; set; }
}