【问题标题】:Asp.net Mvc: Jquery post array + anti forgery tokenAsp.net Mvc:Jquery post 数组 + 防伪令牌
【发布时间】:2010-11-17 14:12:01
【问题描述】:

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

这是我的 Jquery 后数据:

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() };

亲切的问候

【问题讨论】:

标签: jquery asp.net-mvc arrays


【解决方案1】:
var ids = [1,2];

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

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

token 是你提到的变量

【讨论】:

    【解决方案2】:

    假设您在 HTML 中拥有所有产品 ID,那么使用 jqueryForm plugin 会容易得多:

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

    【讨论】:

    • 这意味着我必须在我的视图中添加第二个表单和我猜的第二个 AntiForgeryToken。 ID 也是从表格行中提取的。 ID 是这样的:id="productRow-1", id="productRow-2, ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 2018-01-02
    相关资源
    最近更新 更多