空表单 POST 数据
Posted
技术标签:
【中文标题】空表单 POST 数据【英文标题】:Empty form POST data 【发布时间】:2012-09-08 08:26:21 【问题描述】:如果您通过 POST 发送 html 表单但不输入数据,谁能告诉我会发生什么?
例如:通过POST
发送到另一个页面(例如 servlet 或 php)的输入字段“名称”。如果不输入值,接收页面会得到什么?是元素没有发送(null)还是你得到的是空字符串?
【问题讨论】:
【参考方案1】:空值是您将收到的。用你的话说(“”),考虑到没有验证并且提交了表单。
出于好奇,您是否在服务器端对空值进行验证?我建议您在提交表单之前先检查客户端上的空值。这样您的 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=
【讨论】:
感谢您的帮助。是的,我实际上是在用 javascript 测试空值,但在我的表单中,一些字段是可选的【参考方案2】:文本输入字段将被发送为空,但对于单选按钮和复选框,只有选定的项目将被传输到服务器。
【讨论】:
以上是关于空表单 POST 数据的主要内容,如果未能解决你的问题,请参考以下文章
Django Ajax ModelForm 向 request.POST 提交一个空表单
我正在使用 mandrill 和 Node.js 创建一个邮件客户端...我的节点服务器在提交邮件客户端表单时收到一个空的 POST 请求正文