【问题标题】:Can't read $ .ajax data in controller无法读取控制器中的 $ .ajax 数据
【发布时间】:2012-11-28 03:42:00
【问题描述】:

我正在尝试创建一个 jQuery .ajax 程序,其中用户单击视图中的按钮,触发 $.ajax,然后将名称发送到控制器,控制器在名称前添加 hello 并发送回 json 响应。

我已设法从控制器接收 JSON 响应,但未能在控制器中读取发布数据 name

这是我的代码:

控制器类

    public JsonResult processJsonRequest(PersonModel model)
    {       
        string returnString = "Hello , receive JSON data" + model.Name;
        return Json(returnString, JsonRequestBehavior.AllowGet);
    }

模型类

public class PersonModel
{
    public string Name { get; set; }
}

查看

@{
ViewBag.Title = "Index";}

 @Scripts.Render("~/bundles/jquery")

 @using (Html.BeginForm())
   {
      <input type="button" id="b1" value ="Press Me" />  
   }

 <script type="text/javascript">

   $(document).ready(function () {

    $("#b1").click(function () {

        var person = { Name: 'khurram' };

        $.ajax({
            type: "POST",

            url: "/JSON_Ajax_03/processJsonRequest",
            data: JSON.stringify(person),
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (response) {
                alert(response);
            }
        });
    });
});

</script>

【问题讨论】:

    标签: jquery ajax asp.net-mvc json


    【解决方案1】:

    代替:

    JSON.stringify(person)
    

    这样做:

    JSON.stringify({ model: person });
    

    问题是你没有正确命名模型参数。

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2018-10-11
      • 1970-01-01
      • 2018-06-05
      相关资源
      最近更新 更多