url引數中有+、空格、=、%、&、#等特殊符號的處理
url引數中有+、空格、=、%、&、#等特殊符號的問題解決? 解決辦法: 將這些字元轉化成伺服器可以識別的字元,對應關係如下: URL字元轉義 + URL 中+號表示空格 %2B 空格 URL中的空格可以用+號或者編碼 %20 / 分隔目錄和子目錄 %2F ? 分隔實際的URL和引數 %3F % 指定特殊字元 %25 # 表示書籤 %23 & URL 中指定的引數間的分隔符 %26 = URL 中指定引數的值 %3D 看看例項: <input type="button" value="aaa" id="btn_submit"> <script> (function(){ $("#btn_submit").click(function(){ $.post("index.php/Layout/urlDemo",{ id:2, sex:'&male' },function(data){ console.log("First post:"+data); $.post("index.php/Layout/urlDemo?id=2&sex=&male",{},function(data){ console.log("Second post:"+data); $.get("index.php/Layout/urlDemo",{ id:2, sex:'&male' },function(data){ console.log("First get:"+data); $.get("index.php/Layout/urlDemo?id=2&sex=&male",{},function(data){ console.log("Second get:"+data); }); }); }); }); }); })(jQuery); </script> PHP中Action: class LayoutAction extends Action { public function urlDemo(){ //此處PHP並沒有執行解碼 echo "id=".$_REQUEST['id'].";性別=".$_REQUEST['sex']; } } 結果如下圖1:
轉碼後: <script> (function(){ $("#btn_submit").click(function(){ $.post("index.php/Layout/urlDemo",{ id:2, sex:'&male' },function(data){ console.log("First post:"+data); $.post("index.php/Layout/urlDemo?id=2&sex="+encodeURIComponent('&male'),{},function(data){ console.log("Second post:"+data); $.get("index.php/Layout/urlDemo",{ id:2, sex:'&male' },function(data){ console.log("First get:"+data); $.get("index.php/Layout/urlDemo?id=2&sex="+encodeURIComponent('&male'),{},function(data){ console.log("Second get:"+data); }); }); }); }); }); })(jQuery); </script> 結果如下圖2:
jQuery ajax封裝的get()和post(),已經對特殊字元"&"等做了處理:
看看如下正則:
rprotocol = /^\/\//,
rquery = /\?/,
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
rselectTextarea = /^(?:select|textarea)/i,
rspacesAjax = /\s+/,
rts = /([?&])_=[^&]*/,
rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/;
// try replacing _= if it is there
ret = s.url.replace(rts, "$1_=" + ts);
// if nothing was replaced, add timestamp to the end
s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&": "?") + "_=" + ts: "");
最後附:
javascript 編碼和解碼函式:
1)encodeURI():
a>主要用於整個URI
b>對空格進行編碼
c>不會對本身屬於URI的特殊字元進行編碼,例如":","/","?","#"
2)encodeURIComponent():
a>主要用於URI中的某一段
b>會對發現的任何非標準字元進行編碼
3)escape():
a>不會對 ASCII 字母和數字進行編碼,
b>不會對下面這些 ASCII 標點符號進行編碼: * @ - _ + . /
c>其他所有的字元都會被轉義序列替換。
d>ECMAScript v3 反對使用該方法,應用使用 decodeURI() 和 decodeURIComponent() 替代它。
<script type="text/javascript">
//Visit% [email protected]@@School%21
console.log(escape("Visit [email protected]@@School!"));
//%3F%21%3D%28%29%23%25%26
console.log(escape("?!=()#%&"))
</script>
相關推薦
url引數中有+、空格、=、%、&、#等特殊符號的問題解決
url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,如何是好? 解決辦法 將這些字元轉化成伺服器可以識別的字元,對應關係如下: URL字元轉義 用其它字元替代吧,或用全形的。 + URL 中+號表示空格
url引數中有+、空格、=、%、&、#等特殊符號的處理
url引數中有+、空格、=、%、&、#等特殊符號的問題解決? 解決辦法: 將這些字元轉化成伺服器可以識別的字元,對應關係如下: URL字元轉義 + URL 中+號表示空格 %2B 空格 URL中的空格可以用+號
前端傳遞url引數中有中文,後端傳過來的有亂碼,解決方案
一、問題重現: 原始碼:用get方式傳遞 @ResponseBody @RequestMapping(value = {"/findGroupByGroupName/{batchNo
url參數中有+、空格、=、%、&、#等特殊符號的問題解決
amp 其它 分隔符 url參數 表示 轉化 無法 編碼 轉義 url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在服務器端無法獲得正確的參數值,如何是好?解決辦法將這些字符轉化成服務器可以識別的字符,對應關系如下:URL字符轉義 用其它字符替代
Url引數中出現+、空格、=、%、&、#等字元的解決辦法
Url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,抑或是造成不能正常下載檔案(作為Download Url時候),如何是好?解決辦法:就是需要將這些字元轉化成伺服器可以識別的字元;但是為何Url中有這
MySQL資料庫中有欄位型別是日期、時間的插入語句的寫法處理
MySQL資料庫中,與時間有關的型別有 DATE,TIME,TIMESTAMP: 時間戳mysql> create table ts(f1 TIMESTAMP); Query OK, 0
URL引數中如果有+(加號)要對引數進行編碼,後臺取到的加號才不會變為空格。
後臺對引數進行編碼的方法:URLEncoder.encode(str); 後臺取引數值時直接寫:String strFileCode = request.getParameter("filecode");即可取得編碼後的值。 附: java沒有方法對應javascript
Linux中&&、&、|、||等特殊符號
@Author : Spinach | GHB @Link : http://blog.csdn.net/bocai8058 && 和 & & 表示任務後
URL的引數中有加號傳值的問題(URL特殊字元)
URL特殊字元需轉義 空格換成加號(+) 正斜槓(/)分隔目錄和子目錄 問號(?)分隔URL和查詢 百分號(%)制定特殊字元 #號指定書籤 &號分隔引數 轉義字元的原因: 如果你的表單使用get方法提交,並且提交的引數中有“&”等特殊符的話,如果不做處理,在serv
URL引數中&和+被轉成空格
在ajax傳輸密碼串的時候,密碼總是報錯,檢視日誌發現密碼串有很多的空格,檢視在非ajax中傳輸的密碼串,發現密碼串中的&和+都被轉義成了空格。 檢視網上的資料[1]發現 web開發中通過問號(?)方式在瀏覽器位址列中傳值時。瀏覽器是通
前端 url 引數提交有特殊字元 的解決方法
用 JavaScript encodeURIComponent() 函式 定義和用法 encodeURIComponent() 函式可把字串作為 URI 元件進行編碼。 語法 encodeURIComponent(URIstring)
模糊查詢支援引數中有*和?這樣的sql萬用字元
if(val.getPlateNo()!=null && !"".equals(val.getPlateNo())) { String plateNo = val.getPlateNo(); if(plateNo
手機號隱藏中間四位、使用者名稱處理、銀行卡擷取後四位等敏感資訊處理工具類
在我們平常開發中,我們有時候需要對使用者名稱、手機號等資訊進行一些敏感資訊的處理(如:王小五 →王*五),還有銀行卡擷取後四位等,這裡我整理成了一個工具類,分享給大家! /** * 敏感資訊處理工具類 * @author Zhang */ public final c
使用springmvc從頁面中獲取資料,然後根據獲得的引數資訊進行修改,如果修改的資料中含有不是基本資料型別的引數。比如傳的引數中有Date型別的資料時,需要我們進行引數型別轉換。
1.1 需求 在商品修改頁面可以修改商品的生產日期,並且根據業務需求自定義日期格式。 1.2 需求分析 由於日期資料有很多格式,所以springmvc沒辦法把字串轉換成日期型別。所以需要自定義引數繫結。前端控制器接收到請求後,找到註解形式的處理器介面卡,對RequestMapping標記的方法進
android開發post請求引數中有陣列引數
用了接近兩天終於完美找到方法!!! 話說,訪問伺服器一般用get請求,在url中拼接引數即可;或者post請求json物件也好呀,這次的介面可神奇了—— post方式訪問+請求引數為字串和陣列(數組裡面暫時只有一個物件)! android主流網路請求框架有:okhttp
url地址中有特殊符號“引號”引發的錯誤
一、問題描述 微信網頁授權時,在本地測試已經通過,預釋出後,出現死迴圈跳轉,get獲取的state引數為空 二、問題解決 訪問路徑 q1.pincn.com:82/inditexcareers/wxauth?state=1&requestu
MyBatis 和 ibatis的動態SQL語句配置符號,不相容大於號、小於號等特殊符號問題
在XML對映SQL的檔案中,很多情況下會使用到大於號、小於號等特殊符號,這時候如果不進行控制是無法編譯通過的,這時候需要用到<![CDATA[ ]]>符號進行說明,將此類符號不進行解析,還有一種解決方法就是使用轉移字元,如,案例2,其實,這個問題不止在My
JAVA的可變引數,引數中有三個點
許多Java新人在看到下面的這段程式碼的時候,都會問一個問題:dealArray方法裡那三個小點點是什麼啊? [java] view plaincopyprint? publicclass TestVarArgus { publicstatic
js實現對url引數中數字字母的簡單加解密
function compile(code) { var c=String.fromCharCode(code.charCodeAt(0)+code.length); for
如何解決Http請求引數中加號變空格問題
問題描述: 當使用.NET編寫Winform程式,構建Http Post 請求,並傳遞若干引數給遠端伺服器時,如果引數中包含加號'+'等符號時,http請求傳送後,伺服器收到並解析時,加號會被解碼為空格。 舉例說明: 若引數中含有:fileName = "[宮崎駿作品全集+