我有以下情况
$(":checkbox").change(function() {
CheckBoxes();
Post();
});
与
function CheckBoxes()
{
var manData = new Array();
$('input:checked').each(function ()
{
if(this.name === 'man') manData.push($(this).val());
});
$('#man').val(manData);
}
和
function Post()
{
var postData = {
'man': $('#man').val()
};
var path = "/Home/Index";
$.ajax({
url: path, type: "POST", cache: "false",
dataType: "json", contentType: "application/json; charset=utf-8",
traditional: true,
data: JSON.stringify(postData)
}).success(function (response) {
}).error(function (){
});
}
导致将数据发布为
{"man":"2,3"}
而不是数组
{"man": ["2,3"]}.
我在这里做错了什么?
答案 0 :(得分:5)
当你这样做时:
$('#man').val(manData);
它将您的数组转换为逗号分隔的字符串。所以当你把它拿回来时,再把它分开:
var postData = {
'man': $('#man').val().split(",")
};