我有以下场景
$(":checkbox").change(function() {
CheckBoxes();
Post();
});
Run Code Online (Sandbox Code Playgroud)
同
function CheckBoxes()
{
var manData = new Array();
$('input:checked').each(function ()
{
if(this.name === 'man') manData.push($(this).val());
});
$('#man').val(manData);
}
Run Code Online (Sandbox Code Playgroud)
和
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 (){
});
}
Run Code Online (Sandbox Code Playgroud)
这导致发布数据为
{"man":"2,3"} 而不是一个数组
{"man": ["2,3"]}.
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
当你这样做时:
$('#man').val(manData);
Run Code Online (Sandbox Code Playgroud)
它将您的数组转换为逗号分隔的字符串.所以当你把它拿回来时,再把它分开:
var postData = {
'man': $('#man').val().split(",")
};
Run Code Online (Sandbox Code Playgroud)