J'ai une fonction jQuery qui est appelée lorsque le bouton "Soumettre" est cliqué:jQuery ajax message sur asp.net MVC2
function SubmitForm() {
var idList = [];
var list = $('#TableAdminPortfolio .CheckBoxProjects');
list.each(function() {
var id = $(this).closest('td').children('.hiddenId').val(); // parseInt()
idList.push(id);
});
$.ajax({
url: $(this).href,
type: 'POST',
data: idList,
success: function (result) {alert('Successful');},
error: function (result) {alert('Error');}
});
}
Mon contrôleur ressemble à:
[Transaction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(IEnumerable<int> projects)
{
...
}
Le paramater (projets) est toujours nul. J'ai parcouru mon code jQuery en l'inspectant à chaque étape et l'idList est définitivement rempli. J'ai également essayé mon $ ajax comme ceci:
$.ajax({
url: $(this).href,
type: 'POST',
data: { projects : idList },
success: function (result) {alert('Successful');},
error: function (result) {alert('Error');}
});
Et toujours les mêmes résultats. Une idée de ce qui se passe? Et oui, j'ai une raison de faire un Ajax Post plutôt qu'un formulaire.
TIA
REMARQUE: J'utilise jQuery v1.6.4 et ASP.NET MVC 2.0.
Si vous déboguez, est-ce le poste ajax atteint votre 'Index 'méthode? –
$ (this) .href === undefined – Musa
Vous publiez un tableau d'entiers sur ASP.NET MVC. Comment est-il supposé convertir un tableau d'entiers en un tableau de projets? Est-ce que vous supposez qu'il fait une recherche pour chaque entier et trouve le projet qui correspond à l'identifiant entier? Il y a une certaine "magie" à la façon dont ASP.NET MVC lie les objets. Vous devriez regarder de près certains exemples de code pour le comprendre. Le livre "ASP.NET MVC en action" est un endroit pour commencer. – Cymen