【问题标题】:Post JSON as a string将 JSON 作为字符串发布
【发布时间】:2013-04-21 22:49:49
【问题描述】:

这是我的 js/ajax 代码:

    $.ajax({
        type: 'POST',
        data: JSON.stringify(jsonObj),
        url: 'filter/GetAjaxTestResult',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
        alert(data);
      }
    });

我想将json 作为字符串发布。这是我在 mvc/controller 中尝试过的:

[HttpPost]
public JsonResult GetAjaxTestResult(dynamic jsonString)
{
    return "";// Here jsonString is null!!!
}

如何将json 设为string?有可能吗?

【问题讨论】:

  • 在action方法中获取jsonString的值了吗?

标签: jquery json ajax asp.net-mvc post


【解决方案1】:

这样传递:-

  $.ajax({
            type: 'POST',
            data: "{'jsonString':'" + JSON.stringify(jsonObj) + "'}",
            contentType: "application/json; charset=utf-8",
            url: 'filter/GetAjaxTestResult',
            dataType: 'json',

            success: function (data) {

            alert(data);
          }
        });

还有一点就是你的action的返回类型是JsonResult,恐怕你不能做return "";您需要返回 JsonResult,例如 return Json(...);

【讨论】:

  • 是的,那是因为您的序列化字符串应该作为 json 对象道具值传入,其道具名称与您的操作参数中定义的道具名称相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-05
相关资源
最近更新 更多