2009-08-07 9 views
4

Comment puis-je publier un tableau dans une action sur mon contrôleur avec le jeton anti-falsification.Asp.net Mvc: Jquery post-array + anti-falsification

Ceci est mon Jquery postdata:

var postData = { '__RequestVerificationToken': $('input[name=__RequestVerificationToken]').val(), 'productIds': IDs }; 

c'est mon post Jquery:

$.post("MyProducts/DeleteProduct" , postData, function(data) { }); 

C'est mon action:

public void DeleteProduct(List<int> productIds) 
    { 
     foreach (int i in productIds) 
     { 
      _repository.DeleteProduct(i, null); 
     }   
    } 

J'utilise aussi un objet pour stocker mon anti jeton de faux et je me demande comment je peux utiliser ça avec les postdata.

Ceci est l'objet symbolique:

var token = { '__RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() }; 

Amitiés

+0

pourrait être utile ... http://stackoverflow.com/questions/4074199/jquery-ajax-calls-and-the-html-antiforgerytoken/4074289 – JeremyWeir

Répondre

3
var ids = [1,2]; 

var data = { 
__RequestVerificationToken : token, 
productIds : ids 
}; 

$.post(url, data, function() ... 

où le jeton est le var que vous avez mentionné

1

En supposant que vous avez tous vos ID de produit dans le code HTML, il serait beaucoup plus facile à utiliser jqueryForm plugin:

$("form").ajaxSubmit({url: "MyProducts/DeleteProduct", success: function(response) { 
    // Handle the response 
}}) 
+0

Cela signifierait que je dois ajouter un deuxième formulaire à mon avis et un second AntiForgeryToken je suppose. Les ID sont également extraits d'une ligne de table. Les ID sont comme ceci: id = "productRow-1", id = "productRow-2, ... – Pickels

Questions connexes