如何使用 ajax 传递 from.serialize() 和数组值?

Posted

技术标签:

【中文标题】如何使用 ajax 传递 from.serialize() 和数组值?【英文标题】:How to pass from.serialize() and array value using ajax? 【发布时间】:2020-09-09 11:30:54 【问题描述】:

我正在使用序列化将 'form' 的值从 ajax 传递到控制器。问题是我的“测试”数组为空没有将值从 ajax 传递到控制器我使用的是 ASP.NET MVC 5。请帮助谢谢

但是当我从模型中移除模型时,测试数组有一个值并传递给控制器​​。我需要将两个参数都传递给控制器​​

var test = [];
test[0] = 1;
test[1] = 2;

function saveSelected() 
    var model = $('form').serialize();

     $.ajax(
        url: '@Url.Action("index", "order")',
        type: 'POST',
        data:  model: model.serialize(), test: test ,
        traditional: true,
        success: function (data) 
            alert("success");
        
    );

我的控制器

public ActionResult Index(MyModel model, string[] test)

     return View();

【问题讨论】:

首先,model 是一个字符串,因为你已经序列化了它,你不能再序列化它。关于这个问题,最简单的方法是将test数据放入form html中的隐藏字段,然后它会自动为您序列化 但是我的测试不是我的表格的一部分。还有另一种传递值的方法吗? 【参考方案1】:

您可以使用data: model: model, test: JSON.stringify(test)

【讨论】:

test 的值是这样的。 0 = [1,2] 这就是我需要的 0=[1], 1=[2] 而我的模型是空的。 欢迎来到平台。你能熟悉一下事情是如何运作的吗?您的回答看起来更像是评论。

以上是关于如何使用 ajax 传递 from.serialize() 和数组值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ajax 调用 MVC4 传递两个字符串数组

如何使用 PHP 和 Ajax 将数组传递给 Javascript?

如何使用 Ajax 和 ASP.NET WebMethod 传递 JSON 对象

vue ajax获取数据的时候,如何保证传递参数的

如何使用 ajax 将 id 传递给部分视图控制器方法?

如何使用 Javascript 和 Ajax 将 HTML 单选按钮值传递给 PHP 变量?