Paul T. Rykiel Paul T. Rykiel -4 years ago 123
Ajax Question

Why would my array on my MVC Controller be null on Ajax Postback

Here is my array:

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


Here is my javascript code:

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!!');
}
});
}


and here is my controller: where boundaries is my incoming array of latlng, but it is coming in null.

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

Answer Source

Change

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

to

var postedData = JSON.stringify(boundaries);

This is because the action parameter is an array. If it were a type that contained an array property with property name latlng then you pass it in the same manner you did in your existing code.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download