Asp.net Mvc: Jquery post数组 + 防伪标记

4

如何使用防伪令牌将数组发布到我的控制器上的操作中。

这是我的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() };

亲切问候。

可能会有用... https://dev59.com/dG855IYBdhLWcg3w7o-g#4074289 - JeremyWeir
2个回答

3
var ids = [1,2];

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

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

其中token是您提到的变量


1
假设您在HTML中拥有所有产品ID,使用{{link1:jqueryForm插件}}会更容易:
$("form").ajaxSubmit({url: "MyProducts/DeleteProduct", success: function(response) {
  // Handle the response
}})

这意味着我需要在我的视图中添加第二个表单和第二个AntiForgeryToken。此外,这些ID是从表行中提取的。这些ID看起来像这样:id="productRow-1",id="productRow-2",... - Pickels

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接