原文地址:http://blog.sina.com.cn/s/blog_632d19d50100r1h2.html

作者:桃小熊

当用户在 HTML 表单 (HTML Form) 中输入信息并提交之后,有两种方法将信息从浏览器传送到 Web 服务器 (Web Server)。

一种方法是通过 URL,另外一种是在 HTTP Request 的 body 中。

前一种方法,我们使用 HTML Form 中的 method = "get",后一种方法我们使用 HTML Form 中的 method ="post"

例句如下:

<form action = "..." method = "get">
<from action = "..." method = "post">

通过 get 或者 post 方法都可以获得 Form 的数据,两者主要区别在于以下几方面:

Get

  • URL 改变,在URL 里显示 HTML Form 参数的 name/value 值。
  • 只适合有少量参数的 HTML Form,因为 URL 长度有字符
  • 涉及安全性的信息,比如用户密码,不能用 get,因为会在 URL 上显示,不安全。

Post

  • URL 不改变,不在 URL 里显示 HTML Form 的数据。
  • Form 提交的信息没有长度
  • 涉及安全性的信息,如用户密码,应采用 post 方式。

我们看看 get 是如何提交 Form 数据的。我们先写一个 HTML 文件,如下:

<html>
<head><title>Blablar.com HTML Form Method Get Example</title></head> 
<body> 
<form action ="get.php" method ="get"> 
Name: <input type="text" name="username" /> 
<input type ="submit" value="ok" />
</form> 
</body> 
</html>

你可以看到在浏览器地址栏里的URL是:

http://localhost:8080/get.php?username=Jacky

注意get.php后面的字符串 ?username=Jacky,这是一对 name/value 数据,前面加一个问号。

如果你将 form 改成 method = "post",你在浏览器地址栏就看不到这对 name/value 数据,而只有:

http://localhost:8080/get.php

使用 get 时,第一对 name/value 值前要加一个问号? ,以后每对 name/value 值则要用 & 分开。比如一个 form中有三个参数,如下:

<form action ="u.php" method ="get"> 
Name: <input type="text" name="username" /> 
Age: <input type="text" name="age" /> 
Gender: <input type="text" name="gender" /> 
<input type ="submit" value="ok" /> 
</form>

比如你在Name 项填写Jacky,Age项填写50,Gender项填了male,提交之后的 URL 显示为:

http://localhost:8080/get.php?username=Jacky&age=50&gender=male

HTML表单中get 和post 的区别相关推荐

  1. 【转载】表单中 Readonly 和 Disabled 的区别

    今天写代码,遇到表单提交的问题,某个字段在不同的情况下,要传递不同的值进行赋值,试过一些方法都有些问题,后来请教前端同学,使用 disabled 这个属性终于搞定了问题,查到一篇讲解 readonly ...

  2. 表单中Readonly和Disabled的区别

    Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: Readonly只针对input(text / pass ...

  3. Form表单中method=post/get'的区别

    Form提供了两种数据传输的方式--get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...

  4. form表单中id与name的区别

    以前经常写form表单时,不写id和name,总觉得没有什么用.后来一看后台套完的页面发现,他们都补上name,不知道所以然,就查了一下资料,吓我一跳,要是照我那样写根本不会有数据传到服务器.原来表单 ...

  5. vue - vue表单中v-model和:value的区别

    记录一下在项目中发现vue表单元素中v-model和:value使用中的一个区别: 首先v-model和:value功能是一样的都能实现数据的双向绑定:但是在页面的渲染过程中会有一些区别 区别: v- ...

  6. form表单中method的get和post区别

    一.问题的提出    <form action="getPostServlet/getPost.do?param4=param4" method="get" ...

  7. 由表单中onsubmit=return false;想到的

    众所周知,在表单中加上οnsubmit="return false;"可以阻止表单提交. 下面是简单的一小段代码: 代码 <form action="index.j ...

  8. form表单中根据值判断是否disabled_Java 0基础入门 (Html表单、表单元素)

    上一篇:Java 0基础入门 (Html标签的使用) 表单在网页中主要负责数据采集功能. 一.表单实际应用场景 百度搜索 5173注册 如上两张图,图中的黑色线条是我画上去的,如果按照黑线,在Excl ...

  9. php将表单数据存入数据库,php将表单中数据传入到数据库

    无标题文档//创建表单 姓名 header("Content-type:text/html;charset=utf-8"); if(isset($_POST['submit'])) ...

最新文章

  1. R语言shiny包运行runApp()报错的解决
  2. hive 函数 Cube
  3. 系统级alias vs Oracle ADR功能
  4. 【Blog.Core开源】将Program升级为.NET6.0版本
  5. ASP.NET Core 集成测试中结合 WebApplicationFactory 使用 SQLite 内存数据库
  6. 数据库原理及应用【六】数据库设计
  7. 关于python的保留字_Python中的保留字
  8. springboot 获取web服务端口_我是这样使用SpringBoot(WEB服务)
  9. Codeforces Beta Round #1:B. Spreadsheets
  10. IDEA 打包 jar 包记录
  11. CSS3-文本样式、字体样式
  12. 今日头条怎么申请开通原创,怎么快速过新手期
  13. 无线投影服务器连接投影仪,投影仪如何实现无线连接投影?
  14. 计算机等级考试 12月,2020年12月计算机等级考试成绩什么时候公布
  15. 7-28 实验3_11_鸡兔同笼吗? (100 分)
  16. 【综述】分子表示与性质预测中的深度学习方法
  17. MATLAB | 全网唯一! 又双叒叕一种弦图绘制
  18. 使用模拟退火算法解决旅行家问题——C
  19. 如何下载FusionMap中国各省地图的SWF文件
  20. cics_使用IBM AIX上的CICS Transaction Gateway将IBM WebSphere集成到CICS中

热门文章

  1. 关于《火影忍者 博人传》的一点想法
  2. 网站关键词挖掘外链发布工具
  3. JavaScript的起源故事
  4. 如何用计算机语言表达我想你,表达我想你的句子情话
  5. ar 华为路由器 端口映射_求教华为AR2200路由器端口映射配置
  6. binary,varbinary,image的区别
  7. 微信公共号消息推送给你心爱的她/他-Python3版本
  8. 比亚迪没有奇迹:一个奶不大的孩子,一个走向平凡的车企
  9. 搜狗拼音输入法 关闭 图片表情
  10. HRM- Fusion体验报告