¿El modelo de carpeta no soporta matrices de objetos JSON? El siguiente código funciona cuando se envía un solo objeto de dominio JSON como parte de la publicación de Ajax. Sin embargo, al enviar una matriz de objetos de dominio JSON, el parámetro de acción es nulo.Contabilización de una matriz de objetos JSON en el método de acción MVC3 a través de jQuery ajax
var domains = [{
DomainName: 'testt1',
Price: '19.99',
Available: true
}, {
DomainName: 'testt2',
Price: '15.99',
Available: false
}];
$.ajax({
type: 'POST',
url: Url.BasketAddDomain,
dataType: "json",
data: domains,
success: function (basketHtml) {
},
error: function (a, b, c) {
alert('A problem ocurred');
}
});
Este es el método de acción:
public ActionResult AddDomain(IEnumerable<DomainBasketItemModel> domain)
{
...
Cualquier idea si es posible hacer esto?
EDITAR
@Milimetric
funciona su solución! Sin embargo, esto es mi culpa, pero el código que demostré no es el verdadero código de mi problema, estaba tratando de mostrar un código equivalente que sea más fácil de entender.
De hecho, estoy creando una matriz, entonces interating algunos elementos DOM y empujando un objeto JSON sobre la matriz, entonces la publicación de esta matriz como los datos ...
var domains = [];
$(this).parents('table').find('input:checked').each(function() {
var domain = {
DomainName: $(this).parent().parent().find('.name').html(),
Price: $(this).parent().parent().find('.price span').html(),
Available: $(this).parent().parent().find('.available').html() == "Available"
}
domains.push(domain);
});
$.ajax({
type: 'POST',
url: Url.BasketAddDomain,
dataType: "json",
data: { domain: domains },
success: function (basketHtml) {
},
error: function (a, b, c) {
alert('A problem ocurred');
}
});
Relacionados - http://stackoverflow.com/questions/2515773/ajax-post-of-javascript-string-array-to-jsonresult-as -liststring-always-returns – ChrisF