为什么这个 ajax post 请求在 mvc 应用程序中不起作用
Why this ajax post request does not work in mvc app
我有带有 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 个错误和消息
There are no parameterless constructors defined for this object.
我应该怎么做才能解决这个问题并发送这个 json 对象?
将 JSON 更改为 class 并更改您的 post
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 () {
}
});
我有带有 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 个错误和消息
There are no parameterless constructors defined for this object.
我应该怎么做才能解决这个问题并发送这个 json 对象?
将 JSON 更改为 class 并更改您的 post
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 () {
}
});