如何将对象数组序列化为基于索引的post表数据

时间:2014-10-23 07:57:20

标签: jquery

我有一个像这样的对象

var obj = [
  {
    "mainDC": { "id": 1, "name": "myFirst" },
    "mainDC": { "id": 2, "name": "mySecond" },
    "mainDC": { "id": 3, "name": "myThird" },
  }];

我想将此转换为序列化数据,我可以在提交表单时发布。我的意思是我希望它生成的结果像这样

"mainDC[0].id=1&mainDC[0].name=myFirst&mainDC[1].id=2&mainDC[1].name=mySecond&mainDC[2].id=1&mainDC[2].name=myThird"

是否有任何jquery实用工具方法来获得上述结果?

1 个答案:

答案 0 :(得分:0)

首先,您的对象格式应为

var obj = [{
    "mainDC" :[
        { "id": 1, "name": "myFirst" },
        { "id": 2, "name": "mySecond"},
        { "id": 3, "name": "myThird" }
    ]
}];

我将JavaScript对象发布到服务器的方式:

  1. 将对象序列化为JSON格式
  2. 将JSON数据发布到服务器
  3. 将JSON数据解码为服务器端的Object
  4. <强> JavaScript的:

    // Object convert to JSON
    var json = JSON.stringify(obj);
    // POST data to Server
    $.ajax({
        type:'POST',
        url:'/api',
        data:json,
        success:function(){
    
        }
    });
    

    服务器端(PHP平台)

    if( isset($_POST['mainDC']) ){
        // JSON convert to Object
        $obj = json_decode($_POST['mainDC']);
    }