Cómo recibir JSON como un parámetro del método de acción MVC 5
He estado intentando toda la tarde arrastrándome por la web tratando de recibir un objeto JSON en el controlador de acción.
¿Cuál es la forma correcta o más fácil de hacerlo?
He intentado lo siguiente: 1:
//Post/ Roles/AddUser
[HttpPost]
public ActionResult AddUser(String model)
{
if(model != null)
{
return Json("Success");
}else
{
return Json("An Error Has occoured");
}
}
Lo que me dio un valor nulo en mi entrada.
2:
//Post/ Roles/AddUser
[HttpPost]
public ActionResult AddUser(IDictionary<string, object> model)
{
if(model != null)
{
return Json("Success");
}else
{
return Json("An Error Has occoured");
}
}
lo que me da un error 500 en el lado jquery que intenta publicar en él? (lo que significa que no se unió correctamente).
Aquí está mi código jQuery:
<script>
function submitForm() {
var usersRoles = new Array;
jQuery("#dualSelectRoles2 option").each(function () {
usersRoles.push(jQuery(this).val());
});
console.log(usersRoles);
jQuery.ajax({
type: "POST",
url: "@Url.Action("AddUser")",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(usersRoles),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}
¿Todo lo que quiero hacer es recibir mi objeto JSON en mi acción mvc?