如果您通过 POST 发送 HTML 表单并且您不输入数据,谁能告诉我会发生什么?
例如:一个输入字段“名称”通过发送POST
到另一个页面(例如 servlet 或 PHP)。如果不输入值,接收页面会得到什么?是未发送元素(null)还是得到空字符串?
空值是您将收到的。用您的话说(“”),考虑到没有验证并且提交了表单。
只是出于好奇,您是否在服务器端对空值进行验证?我建议您在提交表单之前先检查客户端上的空值。这样您的 UI 将是无缝的,您将节省带宽。
这是带有非空值的 POST 请求的样子:
POST /submitpage.php HTTP/1.1
Host: www.awebsite.com
User-Agent: Safari/4.0
Content-Length: 39
Content-Type: application/x-www-form-urlencoded
name=Ashwin+Singh&age=21&job=Developer
传递空值后,它将如下所示:
POST /submitpage.php HTTP/1.1
Host: www.awebsite.com
User-Agent: Safari/4.0
Content-Length: 16
Content-Type: application/x-www-form-urlencoded
name=&age=&job=
文本输入字段将被发送为空,但对于单选按钮和复选框,只有选定的项目将被传输到服务器。