为什么我的MVC Controller上的数组在Ajax Postback上为null

时间:2017-03-22 20:10:34

标签: javascript ajax asp.net-mvc

这是我的阵列:

{latlng: [{lat: 41.9841092242239, lng: -87.6459866168}, {lat: 41.948650308164744, lng: -87.64431828280067}, {lat: 41.94833112697515, lng: -87.644017875391}]

这是我的javascript代码:

  var postedData = JSON.stringify({
                latlng: boundaries
            });

            alert("here are your boundaries so far : " + postedData);

            $.ajax({
                url: '/Communities/UpdateBoundaries',
                type: "POST",
                traditional: true,
                contentType: "application/json",
                data: postedData,
                datatype: "json",
                success: function () {
                    console.log('success!!');
                }
            });
        }

这里是我的控制器:其中boundary是我传入的latlng数组,但它是null。

   [HttpPost]
    public ActionResult UpdateBoundaries(List<latLng> boundaries)
    {
        return View();
    }

1 个答案:

答案 0 :(得分:2)

更改

var postedData = JSON.stringify({latlng: boundaries});

var postedData = JSON.stringify(boundaries);

这是因为action参数是一个数组。 如果它是一个包含属性名为latlng的数组属性的类型,那么您将以与现有代码相同的方式传递它。