【问题标题】:How to pass from.serialize() and array value using ajax?如何使用 ajax 传递 from.serialize() 和数组值?
【发布时间】: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中的隐藏字段,然后它会自动为您序列化
  • 但是我的测试不是我的表格的一部分。还有另一种传递值的方法吗?

标签: c# jquery asp.net-mvc asp.net-ajax ajaxform


【解决方案1】:

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

【讨论】:

  • test 的值是这样的。 0 = [1,2] 这就是我需要的 0=[1], 1=[2] 而我的模型是空的。
  • 欢迎来到平台。你能熟悉一下事情是如何运作的吗?您的回答看起来更像是评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 2011-11-07
  • 2015-09-09
  • 1970-01-01
  • 1970-01-01
  • 2013-03-17
相关资源
最近更新 更多