为什么此Ajax发布请求在MVC应用程序中不起作用

时间:2020-04-27 20:17:12

标签: asp.net-mvc asp.net-ajax

我有带有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?

1 个答案:

答案 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 () {

                               }
        });