【问题标题】:Passing Javascript Object Array to MVC Controller w/ POST使用 POST 将 Javascript 对象数组传递给 MVC 控制器
【发布时间】:2018-10-07 06:58:34
【问题描述】:

所以我有一个使用 JQuery 跨多个表行构造的 javascript 对象数组。它具有以下形式:

obj_rows = [
    {"param1":value11, "param2":value12, "param3":value3},
    {"param1":value21, "param2":value22, "param3":value23},
    //more objects with the same parameters
]

我想要的是一种向控制器方法 SomeController/SomeAction 发出 AJAX POST 请求的方法,该方法接受此数组并可以遍历所有对象。我试图找出一种使用 JSON 来做到这一点的方法,但没有成功。

注意:即使我使用的是 MVC,我也没有与这些对象对应的模型类。理想情况下,我希望得到一些结构,例如 3 个元组列表。

【问题讨论】:

    标签: javascript json ajax asp.net-mvc model-view-controller


    【解决方案1】:

    实际上的解决方案是把对象字符串化成一个字符串,然后通过ajax请求发送。

    只要做: JSON.stringify(obj_rows) 你会在另一个端点上得到一个数组(当然是字符串化的),你必须把它解析回来,你就会得到你的数组。

    【讨论】:

    • 所以如果我只是在我的 POST 请求中使用 data:JSON.stringify(obj_rows) ,我应该如何编写我的控制器方法? SomeController(Object[] obj_rows)?
    • @D.Jones 这取决于您的控制器语言。例如在节点中它会很容易JSON.parse(obj_rows)
    • 我明白了。谢谢你!
    • @D.Jones 如果您认为这是正确的,请将其标记为答案,如果您需要更多信息,请不要犹豫。
    【解决方案2】:

    您可以使用 javascript 方法 JSON.stringify() 将您的对象转换为字符串并将其结果分配给视图中的隐藏字段,一旦您在控制器中收到它,您就可以将其反序列化为对象或解析它自己。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 2021-09-24
      • 2017-11-25
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 2019-05-25
      相关资源
      最近更新 更多