通过ajax发布请求接收json对象

时间:2018-07-30 14:06:11

标签: c# jquery asp.net-mvc asp.net-ajax

  

无法检测问题

我正在尝试使用ajax发布请求从服务器获取数据,但是当ajax请求命中后端c#方法时,其数据部分为空

这是我的js代码

 let da = '{"sidx":'+sid+',"idx":'+cur+'}';
    da = JSON.parse(da);
    $.ajax({
        type: "POST",
        url: "../RegSaleman/next",
        data: {x:da},
        datatype: "Json",
        complete: function (dataret) {




        }
    });

c#代码是

  [HttpPost]
    public JsonResult next(JsonResult x)
    {

    }

2 个答案:

答案 0 :(得分:1)

您正在尝试阅读JsonResult,这是错误的。此类用于服务器的响应。 您可以创建一些将由MVC框架自动映射的数据模型(简单类)。 假设您有JSON对象:

{
   "id": "someValue",
   "foo" : 3,
   "bar" : "bar string"
}

您可以创建一个类

public class MyClass
{
    public string Id {get;set;}
    public int Foo {get;set;}
    public string Bar {get;set;}
}

如您所见,它甚至可以映射不同情况下的变量(例如Foo和“ foo”),但是在需要的情况下可以更改此行为。 您的方法将是:

[HttpPost]
public JsonResult next(MyClass x)
{

}

答案 1 :(得分:0)

 var obj = new Object();

 $.ajax({
    type: "POST",
    url: "/RegSaleman/next",
    data: JSON.stringify(o),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {


    },
    failure: function (response) {

    },
    error: function (response) {

    }
});