Although it doesn't apply to this particular example, the same behavior occurs if one or more form inputs is disabled. Those inputs will not show up in the serialized string. In my case, all form inputs had values but were disabled, resulting in an empty string being returned.