我正在使用JSON文件生成html。现在我需要将数据传递给servlet。但传递的数据显示为null。我正在使用jQuery post传递数据。
我的js文件有
$.getJSON('input.json',function(data)
{
$.each(data,function(j,feild)
{
if(this.type=="checkbox")
{
$('body #tabs #tabs-3 #server').append(this.display_name).append(INPUT_CHECKBOX).attr({name:this.name,type:this.type}).append(NEWLINE);
}
else
if(this.type=="radio")
{
var radio = '';
var len = feild.values.length;
for (var i = 0; i< len; i++)
{
radio +='<input type="radio" name="group2">'+feild.values[i];
}
$('body #tabs #tabs-3 #server').append(this.display_name).append(radio).attr({name:this.name,type:this.type}).append(NEWLINE);
}
});
post方法包含
function forwarddata()
{
alert('inside the function');
$.post('url',
{gender:$('input[type=radio]').val(),
items:$('input[type=checkbox]').val()!= undefined,
stores:$('input[type=checkbox]').val()!= undefined
});
}
Myjson文件有
{
"gender":
{"display_name":"gender:",
"name":"gender",
"format":"string",
"type":"radio",
"format":"string",
"values":["male","female"],
"isMandatory":"true"
},
"items":
{ "display_name":"items:",
"name":"items",
"format":"string",
"type":"checkbox",
"values":[1,2,3,4],
"isMandatory":"true"
},
"stores":
{ "display_name":"stores:",
"name":"motion",
"format":"string",
"type":"checkbox",
"values":[a,b,c,d],
"isMandatory":"true"
}
}
当我尝试在servlet中打印数据时,它显示为null ...请解释发布数据的正确方法。
答案 0 :(得分:0)
答案 1 :(得分:0)
$('input[type=checkbox]').val()!= undefined
会给你真假,我希望你不是那么想的。试试这个
function forwarddata()
{
alert('inside the function');
$.post('url',
{gender:$('input[type=radio]').val(),
items:$('input[type=checkbox]').val(),
stores:$('input[type=checkbox]').val()
});
}
答案 2 :(得分:0)
我更改了我的JSON数据。添加了name属性,下面的函数运行得很好 感谢:)
function forwardserverdata()
{
alert('inside the function');
$.post(''url,
{gender:$('body #tabs #tabs-3 #server input:radio[name=gender]:checked').val(),
items:$('body #tabs #tabs-3 #server input:checkbox[name=items]:checked').val()!= undefined,
stores:$('body #tabs #tabs-3 #server input:checkbox[name=stores]:checked').val()!= undefined
});
}