Publication d'un tableau d'objets JSON dans la méthode d'action MVC3 via jQuery ajax
Le modèle de liaison pas de suport des tableaux d'objets JSON? Le code ci-dessous fonctionne lors de l'envoi d'un JSON unique objet de domaine dans le cadre de l'ajax post. Cependant, lors de l'envoi d'un tableau JSON objets du domaine, l'action de paramètre est null.
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');
}
});
C'est la méthode d'action:
public ActionResult AddDomain(IEnumerable<DomainBasketItemModel> domain)
{
...
Des idées si il est possible de faire cela?
MODIFIER
@Milimetric
Votre solution fonctionne! Cependant, c'est de ma faute, mais le code que j'ai montré n'est pas le vrai code de mon problème, j'ai essayé de montrer le code équivalent qui est plus facile à comprendre.
Je suis actuellement à la création d'un tableau, puis interating certains éléments du DOM et de pousser un objet JSON sur le tableau, puis l'affichage de ce tableau que les données...
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');
}
});
source d'informationauteur jcvandan
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin:
En général, consultez l'objet de la Requête dans le débogueur, vous verrez ce qui est passé et se faire une idée de la façon de "parler" HTTP.
NOTE: je Viens de trouver ce out. Le modèle de liaison des bobines sur les valeurs null décimales propriétés comme:
De sorte qu'il ne se lient pas que si vous postez une chaîne json qui ressemble à ceci:
Mais il ne fonctionnera que si vous postez quelque chose comme ceci:
Voir: http://syper-blogger.blogspot.com/2011/07/hello-world.html
J'ai eu un problème similaire. Pour le résoudre, j'ai pris une approche légèrement différente. Au lieu d'un objet JSON, j'ai utilisé des tableaux de forme cachée variables. Tant que les noms de variables appariées, la liaison de modèle a fonctionné comme un charme.
Et ensuite soumettre le serlialized forme