1. 程式人生 > >form表單 get請求引數傳遞問題

form表單 get請求引數傳遞問題

今天在使用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

相關推薦

form get請求引數傳遞問題

今天在使用form表單用get請求時,發現後臺無法接受到url ?後面傳遞過來的引數,開始一直以為是我的引數名稱有誤,後面發現並不是,後臺使用實體對映接受或者request.getparameter()都無法接受到引數但是改為使用post方式提交表單,就能接受到後面網上看到一

JFinal form提交請求引數的獲取問題

使用JFinal時候遇到兩個問題,很隱蔽,折騰了半天,拿出來分享,希望能讓大家不再繼續糾結。 現象:無法獲取前端表單提交的請求引數,後臺使用getPara("paramName")輸出為null. 原因:網上查閱得知,此問題僅在Tomcat下出現,主要是因為如果actio

formGet方式提交時,action中帶引數傳遞不了

form表單get方式提交時,action中帶引數傳遞不了 樣例: <form action="getPostServlet/getPost.do?param4=param4" method="get"> <input type="hidden" name="p

GET和POST請求中,url中的引數form中的引數怎麼區分

在和web前端開發過程中,經常會遇到使用form表單提交POST請求和GET請求。 一般GET請求格式如下: http://xxx../path?key1=value1&key2=value2 而POST請求的引數一般在請求體中。 但是有時會發現,web端提交的PO

spring boot 自定義引數解析器實現form型別請求或位址列請求引數下劃線轉駝峰屬性

一、定義引數解析註解 @Target(value = ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface ParameterModel { } 二、定義抽象類AbstractCustomiz

純js實現,get請求formpost請求

如果這個頁面叫param.html那麼你只需要請求 域名/param.html?requestUrl=請求域名&key=value........既可以把原本的 get請求轉換為表單post請求。 <html> <head> <meta

form傳輸多餘引數

1、使用post提交表單,同時在form的action屬性後新增“?引數=引數值”,經驗證,可行,但是在瀏覽器中看不到該引數在form引數中,如下圖: 上圖未出現courseId屬性,form程式碼如下: <form method="post" class="

easyUI form提交:引數處理

$("#from_xxxxx_Dialog_xxxid").form('submit', { url: 'DeXX/SaveXXXXUploadXXX.action', onSubmit: function (param) {

利用 ajax自定義Form請求方式

異步 opened isp () oca 路徑 表單 fault orm 需求場景:有時候單純的form表單無法向後端傳遞額外的參數 比如需要action傳遞js異步生成的參數 ,form表單默認的action就無法滿足需求,這時就需要我們自定義form表單的提交方式。

SpringMVC中使用bean來接收form提交的引數時的注意點

這是前輩們對於SpringMVC接收表單資料記錄下來的總結經驗: 下面是我自己在使用時發現的,前輩們沒有記錄的細節和注意點: 使用bean來接收form表單提交的引數時,pojo中必須含有預設的(即空的)建構函式,同時,需要設定到bean中的變數必須有setter方法。 注:以下程式碼均為示例程式碼,非本人

一個動態生成的checkbox 引數傳遞解決辦法之我解

最近實習中用STRUTS 開發一個系統,我的那個模組有個資源瀏覽管理頁面... 資源資訊是從資料庫中讀出的,管理的頁面要求是可以 一.直接點選某條資訊後面的一個超連結刪除一條記錄,這個好實現. 二.可以選中資訊前面的checkbox ,然後刪除多條資訊,並且資訊每頁顯示的條數

關於請求方式為GETform,action屬性後不能帶引數的問題

  若在頁面中有如下程式碼: <form action="XXX?name=Jack&age=10"> <input type="text" name="address"

Ajax(form文件上傳、請求頭之contentType、Ajax傳遞json數據)

ati 沒有 服務端 內容 click 寫入 ESS mit 上傳 form表單文件上傳 上菜 file_put.html <form action="" method="post" enctype="multipart/form-data"> {#

Ajax(form檔案上傳、請求頭之contentType、Ajax傳遞json資料)

form表單檔案上傳 上菜 file_put.html <form action="" method="post" enctype="multipart/form-data"> {# 這裡必須要請求頭格式才能把上傳檔案的物件傳過去 enctype="multipart/form-

form的形式傳遞引數給rest介面

/** * 以傳統form表單的方式提交引數(並不是以json格式提交) * * @param url 提交的rest url * @param paramMap body引數 * @param r

js提交form,並傳遞引數

//增加的函式 begin function queryFun(){ var type = $("#artType").val(); var hasInputed = "1";//表示輸入了要搜尋 的資訊 if($("#query").val()=="選手姓名/編號"){

Http 工具類 連線池 多中請求方式 HttpClient4 Util 引數 XML請求 json 請求 form 請求

import com.google.common.base.Strings; import com.google.common.collect.Lists; import org.apache.http.*; import org.apache.http.client.co

form通過hidden向後臺傳遞請求資料

form表單作為前端頁面向後臺請求過程中的請求資料容器: 1、可以將資料通過?分割拼接在URL後面;這是get請求,就相當於直接在瀏覽器中輸入URL的請求。 2、可以將資料放在請求表單中,就是各種常用

***四種參數傳遞的形式——URL,超鏈接,js,form

ont meta get span form表單 用戶名 傳遞參數 rip con 什麽時候用GET, 查,刪 什麽時候用POST,增,改 (特列:登陸用Post,因為不能讓用戶名和密碼顯示在URL上) 4種get傳參方式 <html xmlns="http:/

formget和post兩種提交方式的區別

name bsp inpu get div post input 普通 表單 一、form表單中get和post兩種提交方式的區別?   1.get提交表單中的內容在鏈接處是可見的。post不可見   2.post相比於get是安全的   3.post不收限制大小,get有