2016-09-27 196 views
0

我正尝试使用Angular 1.x发送按钮单击数据。通过POST将数据传递到服务器

下面是从客户端的调试,对象似乎是正确设置:

enter image description here

下面是从服务器端的调试,值都将丢失:

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; } 
} 

UPDATE:

这工作,但相当难看......

enter image description here

才能摆脱的转换,并使用Item类型作为参数,而不是JObject

回答

0

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

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

谢谢,但它不工作。我尝试过:http://i.imgur.com/XRazeah.png,但仍然在服务器端获得null和0 – ibiza

+0

您是否尝试使用Mostafa答案中的JSON.stringify和[FromBody]? – Win

+0

您能否将参数类型从*** Item ***更改为*** object ***,并查看数据是否已发布? – Win

0

使用[FromBody]

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

对于复杂类型,网络API尝试读取从消息主体的值,使用介质型格式化。这包括[FromBody],[FromUri]和[ModelBinder]或自定义属性。

+0

也尝试过(没有JSON stringify),仍然得到相同的错误结果 – ibiza

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; } 
} 
+0

我的POCO已经是公开的,只是将其添加到我的问题。谢谢 – ibiza

+0

我注意到你在'Key'属性中发送一个字符串而不是整数。这是对的吗? –

+0

键是一个字符串是,请参阅我的POCO定义 – ibiza

相关问题