1

我从我的视图中尝试了一个 ajax 帖子,如下所示(使用 jQuery)。

完整的解决方案在这里。

 $(document).ready(function () {
                var kk = {
                    Address1: "423 Judy Road",
                    Address2: "1001",
                    City: "New York",
                    State: "NY",
                    ZipCode: "10301",
                    Country: "USA"
                };
                console.log(JSON.stringify(kk));
                $.ajax({
                    url: 'Check',
                    type: 'POST',
                    data: JSON.stringify(kk),
                    dataType:"json",
                    contentType: 'application/json; charset=utf-8',
                    success: function (data) {
                        alert(data.success);
                    },
                    error: function () {
                        alert("error");
                    }
                });
            });

并在控制器中接收它(始终调用该方法)

public ActionResult Check(AddressInfo addressInfo)
        {
            return Json(new { success = true });
        } 

此处为模型,但是当我尝试访问(检查断点)对象的属性(AddressInfo)时,它总是显示null值。我尝试不进行字符串化和字符串化。我现在正在学习 MVC 并且是初学者。请帮忙

4

4 回答 4

1

试试下面的代码:

return this.Json(new { success = true }, JsonRequestBehavior.AllowGet);

如果这不起作用,只需AddressInfo在控制器端将请求参数从更改为字符串。这肯定会奏效!!

于 2013-10-08T06:32:43.090 回答
1

这不起作用的原因是因为您使用的是 ASP.NET MVC 2,并且直到 ASP.NET MVC 3 才添加对来自 JSON 的模型绑定的支持。

不过,您可以将该功能添加到 ASP.NET MVC 2。Phil Haack 有一篇文章对此进行了描述,最后附有示例代码链接:http: //haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-方法参数.aspx

于 2013-10-08T14:20:16.620 回答
0

添加和传递dataType一样json,_AjaxaddressInfodata parameter

$.ajax({
    url: 'Check',
    type: 'POST',
    datatype:'json',
    data: {addressInfo:kk},
    success:function(data){
    ....
    ....
 });
于 2013-10-07T09:54:13.150 回答
-1

尝试以查询字符串的方式传递数据,如下所示:

    $(document).ready(function () {
        var data = "Address1=423 Judy Road&Address2=1001&City=New York&State=NY&ZipCode=10301&Country=USA";

        $.ajax({
            url: 'Check',
            type: 'POST',
            data: data,
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                alert(data.success);
            },
            error: function () {
                alert("error");
            }
        });
    });
于 2013-10-07T09:53:20.963 回答