动态json与数组

时间:2013-01-31 19:25:32

标签: jquery json yii

我使用YII并将数据发送为“table [attr1] = 1& table [attr2] = 2& table [attr3] = 3”,以便使用我使用的jquery发出请求:

 $.ajax({  
        url:"url",
        data:{
             'table[attr1]':1,
             'table[attr2]':2,
             'table[attr3]':3,
        },
        success:function(resp){
            //ok
        }
    });

但是我需要动态地制作这个数据json,我尝试了这个但是很有效:

$("input").each(function(){ //build the data json       
    form.table[this.name]=this.value;  //the name is 'attr1' , the value is 1
});  



     $.ajax({  
        url:"url",
        data:form, //send the JSON here
        success:function(resp){
            //ok
        }
    });

这会将数据发送为空

如何构建这个json的任何想法?

2 个答案:

答案 0 :(得分:1)

你可以这样做

var form = {}; // create object
$('input').each(function(){
    form[this.name] = this.value; // add name/value
});

然后表单将保存一个对象,例如取决于名称/值并假设您的元素名称为table[attr1]

{
  'table[attr1]': 1,
  'table[attr2]': 2,
  'table[attr3]': 3,
}

答案 1 :(得分:0)

这里没有涉及JSON的内容是x-www-form-urlencoded,为了使你的代码能够工作,你必须首先创建表单对象的table属性。

var form = {table:{}};
$("input").each(function(){  
    form.table[this.name] = this.value;  //the name is 'attr1' , the value is 1
});
$.ajax({  
    url:"url",
    data:form, 
    success:function(resp){
        //ok
    }
});