我正在尝试将数据从Angular控制器发布到.NET端点。
角度函数如下所示:
vm.save = function () {
$http({
url: 'Home/Save',
method: 'POST',
data: vm.colours,
contentType: "application/json; charset=utf-8",
header: {'Content-type': 'application/json'}
})
.success(function (response) {
alert(response)
}
)
};
终点看起来像这样:
[System.Web.Mvc.HttpPost]
public void Save([FromBody]Colours input)
{
var temp = input;
}
发布到终点的数据是: Post header from Chrome
和颜色模型:
public class Colours
{
public string color { get; set; }
public string category { get; set; }
public List<Code> codes { get; set; }
public string type { get; set; }
}
public class Code
{
public string rgba { get; set; }
public string hex { get; set; }
}
如果我触发了保存功能,我点击结束点,我尝试将结束点更改为普通字符串/传递普通字符串并删除[FromBody],但传入的值始终为null。 / p>
我也尝试将角度更改为帖子的速记版本,但我不认为这是问题,如果我检查发布的http响应数据全部存在,那么断开连接必须在某处其他。
有很多问题围绕$ http.post提出一个null值,但是没有一个解决方案似乎解决了我的问题。
我错过了什么?我对角度来说比较新,所以它可能是显而易见的。
答案 0 :(得分:0)
刚刚顿悟并解决了我的问题,问题是被发送的对象是一个颜色数组而不是一个颜色。将结束点更改为如下所示,这解决了问题:
[System.Web.Mvc.HttpPost]
public void Save(List<Colours> input)
{
var temp = input;
}