Asp.net Mvc:Jquery post 数组 + 防伪令牌

Posted

技术标签:

【中文标题】Asp.net Mvc:Jquery post 数组 + 防伪令牌【英文标题】:Asp.net Mvc: Jquery post array + anti forgery token 【发布时间】: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() ;

亲切的问候

【问题讨论】:

可能有用...***.com/questions/4074199/… 【参考方案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, ...

以上是关于Asp.net Mvc:Jquery post 数组 + 防伪令牌的主要内容,如果未能解决你的问题,请参考以下文章

从 ASP.NET MVC 返回 null 时,jQuery post JSON 失败

Asp.Net MVC 的ContentResult 返回字符串,jquery.post的回调函数不接受,为啥?

ASP.NET MVC - jquery 日期选择器

Asp.net core MVC post 参数始终为空

Jquery .ajaxForm() 提交给出 404 错误但 URL 正确 ASP.Net MVC

使用 JavaScript/jQuery 重定向到 ASP.NET MVC 中的另一个页面