form表单 get请求参数传递问题

使用Visual Studio 2015完成表单的自动提交方式 今天我们将使用Visual Studio 2015来完成一个表单提交,同时我们还需要使用到bootstrap和jQuery插件。 首先布局页面我们在一个div标签中嵌套一个form标签,form标签嵌套四个div标签。 第一个div标签中包含有label标签和一个input标签,label标签中的是“姓名”input标签则是用来接收传入的数据的 ... 阅读详情

今天在使用form表单用get请求时,发现后台无法接受到url ?后面传递过来的参数,

开始一直以为是我的参数名称有误,后面发现并不是,后台使用实体映射接受或者request.getparameter()都无法接受到参数

但是改为使用post方式提交表单,就能接受到

后面网上看到一篇博客有介绍原因:如下

经常使用表单,一直使用的都是POST方式,POST将数据封装到请求体中,相对于GET安全一点;而POST处理中文编码问题也比GET简单(GET需要将URL编码,后台接受到后还需要解码)。今天我想要使用GET方式提交表单,却遇到了参数丢失的问题(姑且这样称呼这个问题吧),并不是GET方式表单提交的数据就会丢失,而是自己对表单理解的还不到位,使用错误。

一个GET方式提交的表单:

<form action="${pageContext.request.contextPath }/myServlet?name=lz" method="GET">
  <input type="text" name="password"/>
  <input type="submit" value="提交"/>
</form>

重点在于?号后面的name参数,我想当然的以为password的值会最加到后面,就如:

http://localhost:8888/11/myServlet?name=lz&password=123

但是事实上,真正的URL为:

http://localhost:8888/11/myServlet?password=123

没错,完全不关?号后面是否有值,直接将password追加到?号后面,所以我们在后台想要得到这个name的值,当然就得不到了。

而我们常用的POST方式会怎样呢?

将method改为POST之后,再次提交,可以发现提交的URL:

http://localhost:8888/11/myServlet?name=lz

而password参数封装在请求体中传给后台,所以后台既可以得到name的值,也可以得到password的值,都没有问题。

我们姑且将追加在?后面的参数称之为查询字符串,而将写在input中的值称之为表单数据。

注意:查询字符串不能使用GET方式的表单进行提交,想要提交可以使用隐藏域的方式(作为表单数据),而POST没有问题;表单数据不论使用哪种方式提交都是可以正确提交到后台的。

转自:https://www.cnblogs.com/lz2017/p/7800114.html

axios 使用FormData格式发送GET请求 axios 使用FormData格式发送GET请求 阅读详情

相关推荐

33.form标签中的GET和POST提交方式

33.form标签中的GET和POST提交方式

孤寒者的博客 2万+

form表单action中get和post传递参数的问题

<form action="servlet/ThirdServlet?userName=1&passWord=2" method="post"> 姓名<input type="text" name="uesrName"><br> 密码<input type="text" name="passWord"><br> <input type="submit" value="提交".

一只苟延残喘的卑微蝼蚁 7674

3.1使用Python读取excel的二维数据

要使用 Python 读取 Excel 的二维数据,可以使用 openpyxl 或 pandas 库。

kenshin1980的专栏 1032

Form表单之get提交与post提交

Form表单之get提交与post提交 Form表单的属性action与method: 属性 值 描述 action URL 规定当提交表单时向何处发送成都数据 method get/post 规定用于发送form-data的HTTP方法。(提交表单的方式) &...

weixin_49757916的博客 7873

计算机网络自顶向下(第八版)第一章课后习题

电路交换网络具有以下优点:资源独占性,在建立连接时,电路交换网络为通信双方独占一条物理路径,不会受到其他用户的影响。低时延,由于建立了专用路径,数据传输时延较小,适合对时延敏感的应用,如实时语音和视频通信。数据链路层:提供节点之间可靠的数据传输,主要任务是错误检测和纠正,以及数据帧的传输和访问控制。移动蜂窝网络:如4G LTE和5G,通过移动基站提供的无线信号实现移动设备的互联网接入。网络层:负责数据包的路由和转发,主要任务是通过网络选择最佳路径,进行流量控制和拥塞控制。手机,服务器,路由器,电脑;

hiahiakk的博客 2259

航测无人机las点云数据生成DEM

“ 做航测的同僚都知道,Pix4D或者CC(ContextCapture)都可以生成DSM,往往高程点提取以及土方计算都需要用到DEM,PhotoScan软件可以提出地面点并只应用地面点连接三角网,然而分类效果差,生成的DEM不管是平整度还是精度,都不理想。而传统等高线生DEM需要耗费较长时间,以下提供一种参考方法,供大家探讨。 ” 1 点云数据 航测类软件大多可以生成点云数据,如Pix4D,PhotoScan,CC等,此次点云数据为citymapper2相片基于CC生产的Las点云。 2 筛选地面点 筛.

qq_43173805的博客 1万+

【前端】 form.get 方式上传对象数组给后台

Jquery get 数组 起因:为了导出文件,使用 form 格式 使用 form 上传参数,下载文件,就会出现 obj 对象在参数里显示为 [object object] 或者 object 解决方案 &lt;input type="text" name="username" aciton=".."&gt; &lt;input type="text" name="photo[0

weixin_33966095的博客 1103

Ansys Maxwell磁场仿真入门:无线传能线圈自感与互感计算全流程

本文详细介绍了使用Ansys Maxwell进行无线充电线圈磁场仿真的全流程,包括模型建立、求解器设置、电感参数提取及优化策略。通过实战案例,帮助工程师掌握线圈自感与互感计算技巧,提升无线充电系统设计效率与精度。重点解析了Maxwell在磁场仿真中的关键应用,适用于电磁场仿真初学者和进阶用户。

weixin_29047545的博客 440

curl模拟常用请求

背景 在开发过程中难免会遇到一些http接口,这些接口提供给不同业务方调用,有时候接口有问题,我们又不能通过postMan类的工具去直接调用,这个时候curl工具就能很大的帮助我们 curl 模拟POST请求,JSON入参 curl -H “Accept: application/json” -H “Content-type: application/json” -X POST -d ‘{“par...

sunshine的博客 326

SEG-Y 数据介绍及读写

无

1万+

Openclaw Onboarding向导全攻略——如何配置你的第一个AI助手

很多新手在成功运行 `openclaw --version` 后,面对黑底白字的终端就陷入了迷茫:“安装好了,然后呢?” 本篇我们就彻底解决这个问题,带你完整走完 `openclaw onboard` 交互式初始化配置向导的每一步,从“安装完成”到“真正能用”,只差这一个向导的距离。 本文为2026年3月最新版,适配OpenClaw v2026.2.x 稳定版,所有步骤均经过实测验证,可直接落地。

夏日清风 1917

jsp的参数传递和编码问题

今天在学习BBS的回复页面的过程中,希望将待回复的父贴的标题传递到回复页面,但是一直都出现问题,在解决问题的过程中顺便复习了一下页面传递以及jsp的编码问题。 首先,jsp中传递参数有四种方法:1、form表单2、request.setAttribute();和request.getAttribute();3、超链接:<a her...

weixin_34120274的博客 393

Transformer实战(32)——Transformer模型压缩

在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担。我们介绍了如何通过蒸馏、剪枝和量化从训练好的模型中提取高效模型。预训练轻量级的通用语言模型(如 DistilBERT) 可以在各种任务上进行微调,并表现出与非蒸馏模型相当的性能。随着数据量的不断增加,我们希望模型能够更快地运行,在这方面,高效 Transformer 起着至关重要的作用。

盼小辉丶的博客 2581

window.open()实现post传递参数

window.open()的get更改为post传递参数 最近改了个公司的需求,要求把前端的单选框更改为多选框。改前端简单,但是之前的代码都是用的window.open()跳到控制层(controller),传递参数只能用get,不仅把数据暴露在url中,还会限制参数的数量。所以准备用别的。 我最先打算用Ajax定义一个数组,用json格式传给控制层。。。。Ajax果然好用,数据是传过去了,可控制层的return "xxx.html"却又不能跳转页面了。ajax只是局部刷新,所以不能在后台接口直接进行页面的

ZMXQQ233的博客 8167

C 语言多文件编程 : 大型程序的组织与管理

本文介绍了C语言多文件编程的核心概念与实践方法。主要内容包括:1. 多文件编程的必要性:解决单文件编程在大型项目中的维护和协作问题;2. 文件组织方式:头文件(.h)负责声明接口,源文件(.c)实现具体功能;3. 编译链接过程:分阶段编译和链接多个源文件;4. 头文件设计原则:包含接口声明、使用保护机制、保持自包含性;5. 模块化实践:通过示例展示学生信息管理系统的模块划分;6. 构建工具:介绍Makefile的编写和使用方法。文章还提供了创建静态库和动态库的指导,并强调了模块化设计、信息隐藏等软件工程原则

2503_91057718的博客 1948

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

form表单提交get请求时action所带参数无效

今天在撸码过程中发现一个很奇怪的现象,表单中通过get请求去获取数据,服务器收不到form表单的参数,代码如下: 这是form表单代码 这是服务器代码: 这是打印数据: 然后就一脸懵逼,死活找不到问题出在哪。。后来终于皇天不负有心人,终于给我百度到了问题所在,原来是form表单如果是get请求,那么action后面带的参数会被拦截掉,只带上表单内的参数。如果是post请求则不会...

nice哥的博客 1354

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

不用eclipse 开发Java,不用eclipse创建第一个servlet

新建HelloWorld.java如下import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorld extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse re...

weixin_39600510的博客 206

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

js提交form表单,并传递参数

js如何提交form表单,并传递参数呢? 参考:https://www.itdaan.com/blog/2013/04/18/d26f13da9de5e2bbd607464da6ad1f8e.html

kkwant的博客 1万+

2016/10/24 window.open隐藏参数、参数过长、中文编码问题

一般 window.open 传参数都是用Get.方式,在url后面拼接参数。 但这样有时候并不适用,如:  1)不想被看到参数信息 2)参数过长,get有限制会被截断 3)可能有中文编码问题 所以需要用post方式 ,下面说的就是一种window.open发送post请求的方法。 网页的post一般是通过form表单的方式来实现的,所以现在来模拟form表单的方式来实现win

blacktsky的博客 1万+

HTTP Get与Post的区别

转载自:http://hi.baidu.com/bmomjdkmaipruxr/item/7cd6eb054343857ebee97e62 表单提交中Get和Post方式的区别有5点    1. get是从服务器上获取数据,post是向服务器传送数据。    2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。po

644

GET与POST传递方法

1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3. 对于get方式,服务器端用Request.Quer

经验在于积累而不在于年限---dreamboycx 879

HTTP协议中PUT/GET/POST/HEAD等介绍

HTTP协议中GET、POST和HEAD的介绍 GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请求页面的首部。 POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。 HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GE...

weixin_30700977的博客 164

POST请求和GET请求如何传递和接收解析参数

1. 前言接口参数应该怎么传递是每个项目应该面对的问题,这跟编程语言无关,今天来总结一波常用的接口参数传递方式。2. GET 请求GET 请求一般用来向服务器请求获取数据。总体来说目前有...

码农小胖哥 1万+

http请求 报错(403)的解决方法 django的form表单请求(get和post)django的form表单类(用于后端校验字段属性)CSRF

文章目录1.认识http请求1.请求的方式2.响应码3.请求request对象的方法4.获取请求传递的参数二、发送post请求的时候,报403(csrf)错误的两种解决方法1.在settings文件的中间件中将csrf验证注掉2.在html中添加3.CSRF的介绍三、Django的form表单请求1.form表单 get请求2.通过form输入文章标题,搜索文章名字3.form表单post请求四、...

langdei的博客 3210

页面间的参数传递——URL,超链接,js,form表单

今天在处理一个问题时,将url地址栏中参数不显示。各种百度、尝试后,发现改变请求方式就可以解决。 参数在传递时可以采用如下的四种:URL,超链接,js,form表单传参 一、URL 把参数值附在url后面传递到其他页面 如:localhost:21811/Handler1.ashx?id=1&name="abc" 二、超链接 用超链接的方法传递参数 如:<a...

sanjie123的专栏 2092

通过浏览器中F12来查看form表单的提交

挺实用的一个定位bug技巧 这里用谷歌浏览器(Chrome)来举一个例子 1.打开F12,打开百度 选中www.baidu.com ,再选Headers,就可以看到 (1)General: Request URL:请求的URL连接 Request Method: 使用的是Get请求的方法 Status Code: 状态码,200一般是指成功 Remote Address: 远程地址 Referrer Policy:一般指服务端请求来源 (2)Response Header..

qq_41024101的博客 2万+
上一篇: JVM内存结构
下一篇: ajax 同步与异步 及ajax模板
chao430
博客等级 码龄10年 38粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值