【发布时间】:2012-09-08 08:26:21
【问题描述】:
如果您通过 POST 发送 HTML 表单但不输入数据,谁能告诉我会发生什么?
例如:通过POST 发送到另一个页面(例如 servlet 或 PHP)的输入字段“名称”。如果不输入值,接收页面会得到什么?是元素没有发送(null)还是你得到的是空字符串?
【问题讨论】:
如果您通过 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=
【讨论】:
文本输入字段将被发送为空,但对于单选按钮和复选框,只有选定的项目将被传输到服务器。
【讨论】: