get請求參數中帶有url


get請求url參數中有+、空格、=、%、&、#等特殊符號的問題解決

 

url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在服務器端無法獲得正確的參數值,如何是好?
解決辦法
將這些字符轉化成服務器可以識別的字符,對應關系如下:
URL字符轉義

用其它字符替代吧,或用全角的。

+    URL 中+號表示空格                                 %2B   
空格 URL中的空格可以用+號或者編碼           %20 
/   分隔目錄和子目錄                                     %2F     
?    分隔實際的URL和參數                             %3F     
%    指定特殊字符                                          %25     
#    表示書簽                                                  %23     
&    URL 中指定的參數間的分隔符                  %26     
=    URL 中指定參數的值                                %3D

 

比如我這里做的一個SSO功能中

 

http://127.0.0.1:8080/mgWeb/login.do?type=jxemisLogin&url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002&is_timeout=&is_history=no&staffId=******

 

url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002&is_timeout=&is_history=no

 

url=中含有&符號

 

可以使用 %26 替換 & 

 

改動后:

 

http://127.0.0.1:8080/mgWeb/login.do?type=jxemisLogin&url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002%26is_timeout=%26is_history=no&staffId=******

 

url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002%26is_timeout=%26is_history=no

將特殊符號替換掉

var str = '少林寺3#101';
var result = str.replace(/#/g, '%23');
console.log('result:' + result);
 
————————————————
版權聲明:本文為CSDN博主「weixin_41655541」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_41655541/article/details/93507395

--https://www.cnblogs.com/chenqingbin/p/11511833.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM