如何在JQuery中重新排列数组

时间:2012-12-31 16:28:30

标签: javascript jquery

我将此帖子发布到我的脚本

Array
(
  [0] => Array
      (
          [name] => test1
          [value] => test1 value
      )

  [1] => Array
      (
          [name] => test2
          [value] => test2 value
      )
)

我想要的是:

Array
(
  [0] => Array
      (
          [test1] => test1 value
      )

  [1] => Array
      (
          [test2] => test2 vlaue
      )
)

这是我用来发布数据的JQuery。有人能告诉我我需要做什么吗?

var vals = $("#post").find('input,select,textarea').serializeArray();
vals.push({
    name: 'article',
    value: CKEDITOR.instances.article.getData()
});
var qs = $.param(vals);

$.post('test.php', {
    data: vals
}, function (data) {
    if(data.success == 0) {

    }
}, 'json');

修改 我想要做的是简单地访问我的服务器上的每个键值,如下所示:

    echo $_POST['test1'];
...

2 个答案:

答案 0 :(得分:0)

在你的帖子中,看起来你的'name'属性是常量并且等于'article'。但是,如果文章实际上是代码中先前定义的变量,那么这应该有效:

var vals = $("#post").find('input,select,textarea').serializeArray();
var newVal = {};
newVal[article] = CKEDITOR.instances.article.getData();
vals.push(newVal);

答案 1 :(得分:0)

使用$.post时,第二个参数是您要发送到服务器的数据。它与传递带有选项的对象的$.ajax不同。

试试这个:

var vals = $("#post").find('input,select,textarea').serializeArray();
vals.push({
    name: 'article',
    value: CKEDITOR.instances.article.getData()
});

$.post('test.php', vals, function (data) {
    if(data.success == 0) {
    }
}, 'json');