I have read quite a few different methods of having html checkboxes get posted to the server, but I am really looking to do it without modifying anything except for $.serial
Before you call serialize(), you need to explicitly set the value to false if a checkbox is unchecked
serialize()
false
$(form).find(':checkbox:not(:checked)').attr('value', false);
I have tested it here.