2009-08-07 104 views
4

如何將數組發送到我的控制器上使用反僞造令牌的操作。Asp.net Mvc:jquery post數組+反僞造令牌

這是我的Jquery POSTDATA:

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

這是我的Jquery帖子:

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

這是我的行動:

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

我也用一個對象來存儲我反僞造令牌,我不知道如何使用postdata。

這是令牌對象:

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

親切的問候

+0

可能是有用的... http://stackoverflow.com/questions/4074199/jquery-ajax-calls-and-the-html-antiforgerytoken/4074289 – JeremyWeir 2012-05-29 18:00:31

回答

3
var ids = [1,2]; 

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

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

其中令牌是你提到的var

1

假設你在HTML所有的產品ID這將是更容易使用jqueryForm plugin

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

這將意味着我必須添加第二種形式,我的看法和我想第二個AntiForgeryToken。此外,這些ID是從表格行中提取的。這些ID是這樣的:id =「productRow-1」,id =「productRow-2,... – Pickels 2009-08-07 05:12:36