我有带有ajax请求的js文件
这是其文字的一部分
$.ajax({
url: '/Points/Addpoint', // также '@Url.Action("Addpoint", "PointsController")'
type: "POST",
dataType: "json",
data: JSON.stringify({ firstx: ev._x, firsty: ev._y, secondx: ev._x, secondy: ev._y }),
success: function () {
alert();
}
});
我也有使用此方法的mvc控制器,应该在ajax中调用
[HttpPost]
public void Addpoint(JSON po)
{
var pointslist = this.Getpoints();
var obj = po;
pointslist.Add(new Point());
}
但是以某种方式这是行不通的。 idk为什么?它给我500错误和消息
没有为此对象定义无参数的构造函数。
我应该怎么做才能解决此问题并发送json obj?
答案 0 :(得分:0)
将JSON更改为class并更改您的帖子
public class YourClass
{
public string firstx { get; set; }
public string firsty { get; set; }
public string secondx { get; set; }
public string secondy { get; set; }
}
[HttpPost]
public void Addpoint([FromBody] YourClass po)
{
var pointslist = this.Getpoints();
var obj = po;
pointslist.Add(new Point());
}
$.ajax({
url: '/Points/Addpoint',
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({ firstx: ev._x, firsty: ev._y, secondx:ev._x,secondy: ev._y }),
success: function () {
}
});