我在ASP.NET Core MVC中遇到模型绑定问题。我有这个端点,当它从Javascript调用时会被点击,但postData总是为空。模型在ASP.NET Core中绑定复杂类型的列表
[HttpPost("/somepost")]
public string SomePost([FromBody] PostData postData)
{
return "Got It!";
}
public class PostData
{
public int ID { get; set; }
public string[] ListOrArray { get; set; } // Doesn't matter if this ends up a List or an Array
}
此端点正在从$。点击功能击中:
$('img.some-image').click(function() {
array = ['sample data', 'some more'];
data = {
ID: 1,
ListOrArray: array
};
$.ajax({
type: 'POST',
url: '/somepost',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: data,
success: function (result) {
console.log('Received: ');
console.log(result);
}
});
});
我猜测,这个问题是模型绑定,但我不知道。我已经看过小写的JavaScript对象属性名称的例子,但这并没有改变我的任何东西。
我也必须从POST中删除[ValidateAntiForgeryToken],但我更愿意将其添加回来。我猜我必须将该令牌添加到GET请求,以便我可以将其提交给POST ,但我还没有想出如何做到这一点。尽管如此,我认为这与我的问题没有任何关系。
我搜索了答案和例子,但他们都没有为我工作。 ASP.NET Core很新,所以没有太多。我在版本1.1.0。
要添加标记,只包含'__RequestVerificationToken:$( '输入[名称= “__ RequestVerificationToken”]')VAL();'英寸您的数据对象 –