2009-08-21 7 views
2

Les données sur ma page est telle:Comment publier des données en utilisant jQuery et MVC

var userIdCol = '3,67,78,37,87'; 

Cette collection de numéros d'identification utilisé est obtenu à partir d'une zone de liste via jQuery sur ma page.

Tout ce que je veux faire est de poster cette liste de UserId à mon contrôleur et afficher un message de succès quelque part sur ma page. "Les utilisateurs ont été mis à jour."

Je ne sais pas à quoi devrait ressembler la signature de mon contrôleur et comment je devrais composer le jQuery quand je veux passer une liste comme celle ci-dessus?

En outre, je me demande si j'ai vraiment besoin de l'action du contrôleur doit être un ActionResult?

Dans le passé, je l'ai fait d'autres postes comme ceci:

$.ajax({ 
type: "POST", 
url: "/Issue/" + "Index", 
dataType: "html", 
data: { 
//page: 5 
projectId: $("#ProjectList").val() 
}, 
success: function(v) { 
RefreshComment(v); 
}, 
error: function(v, x, w) { 
//Error 
} 
}); 

public ActionResult Index(int? page, int? projectId) 
{ 
// 
return View(); 
} 

Répondre

3

que je fais presque exactement la même chose que vous faites, voici mon jQuery:

function saveConfigItemChanges() { 
     var formData = $("form:1").serialize(); 
     $.ajax({ 
      "dataType":"json", 
      "type":"POST", 
      "url": "/Admin/PutValidationRules", 
      "data":formData, 
      "success":saveConfigItemChangesCallback 
     }); 
    } 

Et ici est mon action:

[AcceptVerbs(HttpVerbs.Post)] 
    public JsonResult PutValidationRules(ConfigItem model) 
    { 
     Dao.SaveConfigItem(model); 

     return Json(true); 
    } 

Comme vous pouvez le voir, vous pouvez retourner un JsonResult et il passera JSON (vrai) à votre succès cal lback.

+1

Qu'en est-il du $ .ajax ({... à quoi cela ressemble-t-il?) Je suis un nouveau venu chez MVC et jQuery Merci – Picflight

+1

J'ai ajouté mon jQuery, c'est très similaire au vôtre. Je veux m'assurer d'envoyer les deux paramètres: data: { "page": 5, "projectId": $ ("# ProjectList"). val()} – JMP

+0

Notez également que vous pouvez utiliser un tableau javascript et faire il est mappé à un 'IEnumerable ' plutôt qu'à une chaîne séparée par des virgules si vous définissez le paramètre 'traditional' sur' true' dans votre appel .ajax. – StriplingWarrior

0

J'utilise rarement .ajax $ parce qu'il a besoin beaucoup d'installation. Je suis biaisé vers $ .post qui fonctionne très bien pour les demandes de poste peu compliquées.

Questions connexes