【问题标题】:I get a null object or an object with null values when passing data from an ajax call to MVC Controller将数据从 ajax 调用传递到 MVC 控制器时,我得到一个空对象或具有空值的对象
【发布时间】:2020-04-06 21:20:16
【问题描述】:

我最终将需要此方法来使用 keyValue pares 数组,因此每个参数传入一个属性的数据对我来说不起作用。我需要一个动态对象。但是,我无法让 JSON 解释起作用。

我有一个非常简单的 ajax 调用:

 $.ajax({
        method:'POST',
        url,
        success: doAThing
        contentType:"application/json;charset=utf-8",
        data:JSON.stringfy({thing:'stuff'}), //I have tried just {thing:'stuff'}) as well.
        dataType: "json"
})

它进入一个控制器:

public class THING
{
    public string thing { get; set; }
}

[AcceptVerbs(HttpVerbs.Post)]
public JsonResult SetDAConfigs(THING param) {
      //do something
}

我已经尝试了大约 50 种不同的配置。我可以获取“事物”的空对象或具有空值的对象。或 500 错误。

谁能告诉我发生了什么?我怀疑这是控制器端点的问题,但我不知道是什么。

【问题讨论】:

    标签: json ajax asp.net-mvc


    【解决方案1】:

    所以你需要做的是把“param”放在你的json字符串中。

    所以不要提交数据 '{"thing":"stuff"}' 它应该是 '{"param":{"thing":"stuff"}}

    控制器会解析json关联“param”并尝试将其转换为控制器中与参数关联的Class。

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 2011-05-06
      • 2015-09-13
      • 1970-01-01
      • 2013-12-13
      相关资源
      最近更新 更多