IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> get 和 post 俩种提交表单的方式 -> 正文阅读

[系统运维]get 和 post 俩种提交表单的方式

get 和 post 俩种提交表单的方式

自动提交表单的数据

启用表单的自动提交方式时,
我们需要添加上这一句:

eg:action="/Main/GetData" method="post"  
action="/Main/GetData"(这是所对应的路径) method="post" 默认为method="get“(这是提交方式 post提交 或 get提交)。

禁用表单的自动提交方式 需要添加上:(俩者都可以,二选一)

  1. οnsubmit=“return false;”

  2. autocomplete=“off”

    eg:action="/Main/GetData" method="post"   οnsubmit="return false;" 
    或  action="/Main/GetData" method="post"    autocomplete="off"
    

form表单的属性 action 和 method

属性属性值描述
actionURL规定当提交表单时向何处发送表单的数据
methodget / post规定用于发送form-data的HTTP的方法

以下就是提交表单的方式:

<form action="/Form00/getData" method="post"></form>

URL都有哪些值呢?

URL可能的值
绝对的URL指向其他网站的站点 (eg: src=“www.baidu.com”)
相对的URL指向本站点内的文件 (eg:src="/Form/getData")

method 属性 有 get 和 post 这俩个值。

在W3Cchool 中 指出,使用get 提交时 参数是直接暴露在URL上的。

当 get 和 post 相比较时,get 是最简单也是最快的 ,而且get 在大部分的情况下都是可以使用的。

而我们使用post是有条件的。

虽然这样讲,但是get 请求数据就是没有post 请求数据安全。

当我们遇到以下的情况,要使用 post 请求:

  1. 当我们无法使用缓存文件时 (更新服务器上的文件或者数据库)
  2. 当我们向服务器发送大量的数据时 (post 提交, 是没有数据量限制的,而get提交是限制数据量的)
  3. 当我们发送包含未知字符的用户输入时,post 提交 往往 比get提交 更稳定更可靠更好

总的来说:选择post 方法来提交数据更好一点。

get 和 post 到底有什么区别呢?

以下向你们解答:

get 提交方法post 提交方法
用来向服务器上获取数据用来向服务器上传递修改数据(或者说传递更新的数据)
将表单里的数据添加到action所指向的URL后面,而且俩者之间是使用“ ? ” 来进行连接的,但是里面的各个变量之间使用“ & ”来进行连接将表单里面的数据放在form的数据体(FormData)中,然后按照键值对的方式,将数据传递到所指定的action
相对来说,get是不安全的,因为当用户在传输数据的过程中,数据被放在请求的URL上,这样用户就会直接在浏览器上看到提交的数据,不隐蔽而post的所有操作对于用户来说是不可见的,数据都在数据体(FormData)中
当get方法向URL中添加数据,URL的长度是有限制的(URL的最大长度是2048个字符(而一个字母(或中文)就代表一个字符))post提交是无限制
get方法是form表单的默认提交方式
获取到数据之后,刷新时是不会有负面的影响的,因为只是获取到数据(没有对整一个页面产生影响)post数据将会被重新提交。可能会产生不良的影响(代码有瑕疵,或者数据路径没有连接上,是会导致有不同程度的报错) (浏览器应该告知用户数据将会被重新进行提交)
————
数据类型的限制
get只允许 ASCII 字符post 没有字符限制 (企业开发中,假如需求中要提交二进制数据(eg:图片),那么我们就需要使用post 方法来进行提交 )

get 提交 ——get只能通过两种方式接收数据-从控制器中 (第一种 和 第四种方法)

   //获取form表单
                let form = document.getElementById("frm");
               
               //get只能通过两种方式接收数据-从控制器中
                //1./Main/GetData   通过形参接收数据
                //form.action = "/Main/GetData";
                //4.EntityClass     实体类接收数据
                form.action = "/Main/getDataByEntityClass";
                form.method = "get";
                //submit()  提交方法
                form.submit();

post 提交——post可以通过四种方式接收数据-从控制器中

        //获取form表单
                 let form = document.getElementById("frm");
              
                //post可以通过四种方式接收数据-从控制器中
                //1./Main/GetData 通过形参接收数据
                //form.action = "/Main/GetData";
                
               //2."/Main/getDataByFormCollection" 通过FormCollection来接收数据
                //form.action = "/Main/getDataByFormCollection";
                
                //3.通过 Request.Form["name的属性值"]获取表单数据
                //form.action = "/Main/getDataByRequest";
                
                //4.EntityClass实体类接收数据
                form.action = "/Main/getDataByEntityClass";
                
                form.method = "post";
                //submit()  提交方法
                form.submit();

? 总结:

? 1. get 请求数据 虽然在大部分的情况下可以使用,但是 个人建议 使用 post 来请求数据。

? 2. post 方法不但安全,而且post 是按照键值对的方式来传递数据的, post 提交数据无限制的,没有字符限制

? 还可以 提交二进制数据(图片)。post 不但可以获取数据,还可以修改(更新)数据。

? 3. 在企业开发中,一般使用post 方法来提交表单数据,以便更好的进行数据的 增删查改 操作。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:13:16  更:2022-03-13 22:14:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:27:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码