【问题标题】:"POST" data with jquery ajax and MVC2使用 jquery ajax 和 MVC2 的“POST”数据
【发布时间】:2015-08-05 13:38:19
【问题描述】:

我正在使用 MVC2,我正在尝试使用 jquery ajax 发送数据。

有我的JS代码:

$.ajax({
    type: "POST",
    url: "Data",
    data: { processName: "MyProc", startDate: "2015-08-01 16:00"},
    success: function(data) {
    }
});

还有我的控制器:

[HttpPost]
public JsonResult Data(string processName, string startDate)
{
    int i = 1;
}

所以我的问题是我确实到达了控制器中的"int i=1;" 行, 但是由于某些未知原因 - processNamestartDate 都是 null

有人可以帮忙吗?

【问题讨论】:

  • 尝试将此属性添加到您的 ajax 调用中:contentType: 'application/json' 并将数据包装在 JSON.stringify({ processName: "MyProc", startDate: "2015-08-01 16:00"})
  • 我将所有代码复制到我的 vs 并且看起来工作正常
  • @RoryMcCrossan 该属性来自 WebAPI dll。我无法使用它
  • 在 MVC2 中使用 JSON 并不简单:stackoverflow.com/questions/6479534/asp-net-ajax-with-mvc2

标签: jquery ajax asp.net-mvc


【解决方案1】:

尝试制作一个模型并将其用于您的操作中的参数

  public class MyModel
{
    public string processName { get; set; }

    public string startDate { get; set; }
}

然后

[HttpPost]
    public JsonResult Data(MyModel model)
    {
       int i = 1;
        //model.processName
        //model.startDate

     }

【讨论】:

    【解决方案2】:

    尝试在您的 jquery 代码中添加内容类型和数据类型 + 字符串化您的数据:

    $.ajax({
      type: "POST",
      url: "Data",
      data: JSON.stringify({ processName: "MyProc", startDate: "2015-08-01 16:00"}),
      dataType: "json",
      contentType: "application/json; charset=utf-8",
      success: function(data) {
      }
    });
    

    【讨论】:

    • 改成:$.ajax({ type: "POST", url: "Data", data: JSON.stringify({ processName: "MyProc", startDate: "2015-08-01 16:00"}), dataType: "json", contentType: "application/json; charset=utf-8", 成功: function(data) { } });
    • 我到达“int i=1;”行,但仍然在这两个变量中得到空值:(
    【解决方案3】:
        $.ajax({
                    url: '@Url.Action("ActionName", "ControllerName")',
                    type: 'POST',
                    data:  JSON.stringify({ processName: "MyProc", startDate: "2015-08-01 16:00"}),
                    contentType: 'application/json; charset=utf-8',
                    success: function (responseData) {
        }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2014-01-10
      • 2021-01-17
      • 2023-03-29
      相关资源
      最近更新 更多