我使用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的任何想法?
答案 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
}
});