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

问题描述 投票:0回答:1

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

asp.net-mvc asp.net-ajax
1个回答
0
投票

将JSON更改为类并更改您的帖子

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

                               }
        });
© www.soinside.com 2019 - 2024. All rights reserved.