【问题标题】:jquery push array into array and maintain keys (multidimensional?) in post datajquery将数组推入数组并在发布数据中维护键(多维?)
【发布时间】:2015-03-12 10:24:48
【问题描述】:

我正在尝试 $.post 使用一些表单数据以及数组中的一些其他数据。我可以将数组推送到表单数据的其余部分,但是我丢失了它们数组中的键,并且数据只是表示为一个字符串,我想我要的是一个多维数组?

这是当前的响应字符串:

array(3) { ["ban_type"]=> string(11) "Account ban" ["ban-duration"]=> string(1) "2" ["test"]=> string(19) "adsasdasd,usertest2" }

['test'] 是我试图通过的数组。这是我传递的数据,其中 'getSelectedUsers()' 是数组:

   var formdata =   $('#ban-form').serializeArray();
   formdata.push({name:'test', value:getSelectedUsers()});

无论如何我可以得到 ['test'] 的值来保存带有键的实际数组吗?

编辑:这是函数中使用的帖子:

$.post(action, request_data, function(data)
{
   $(response_element).html(data);
});

这是传递数据的调用:

       ajaxPost(action, formdata, "body");

如果我只是传递数组,我会得到带有键的响应:

ajaxPost(action, {test:getSelectedUsers()}, "body");

编辑:为了澄清我的要求 - 有什么方法可以将普通数组附加/推送到序列化的 formdata 数组中,这样它是多维的并且可以保存数组及其键,而不仅仅是字符串:[ "test"]=> string(19) "adsasdasd,usertest2" (我需要密钥,例如 [1] => 'usertest2' 以便我以后可以访问它们?)

【问题讨论】:

  • getSelectedUsers() 真的返回一个数组吗?在显示的行之后你如何处理formData
  • 在编辑中添加了说明,是的 getSelectedUsers() 返回一个数组。我在 $.post 中使用 formData

标签: javascript php jquery arrays multidimensional-array


【解决方案1】:

如果问题不清楚,请通过手动创建数组而不是尝试序列化表单数据并附加数组来解决:

var data = 
   {
     form_data:
     {
         ban_type: type,
         ban_duration: duration
     },
     ban_data: getSelectedUsers()
   };

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2013-05-17
    • 2012-01-12
    • 2011-12-12
    • 2018-01-09
    • 1970-01-01
    相关资源
    最近更新 更多