2

URL のパラメーターとして渡す # 記号がありました。ただし、# の後のすべてのパラメーター値を破棄しています。解決策を教えてください。以下は私のURLです

GetConnectiont?   
  customerID=customer1&activenode=Sv50&parent=server&frame=imHealthCheckFrame&
connectedFrom=healthCheck&username=root&password=anil#1234&fromAskUsrPwd=askPassword

前もって感謝します

4

3 に答える 3

10

ここにある回答ごと: URL でハッシュ文字をエスケープする方法

に置き換え#ます%23

ここですべての予約文字のリストを見つけることができます: Percent-encoding


JavaScript エンコーディングについて

encodeURI(str)

「URI が完全な URI であると仮定するため、URI で特別な意味を持つ予約文字をエンコードしません。encodeURI次を除くすべての文字を適切な UTF-8 エスケープ シーケンスに置き換えます:」[1]

encodeURIComponent(str)

「次を除くすべての文字をエスケープします: 英字、10 進数、- _ . ! ~ * ' ( )」[2]

あなたの場合、encodeURIComponent()クエリ文字列でのみ を使用して、すべての予約文字をエスケープします。

!  %21 
#  %23 
$  %24 
&  %26 
'  %27 
(  %28 
)  %29 
*  %2A 
+  %2B 
,  %2C 
/  %2F 
:  %3A 
;  %3B 
=  %3D 
?  %3F 
@  %40 
[  %5B 
]  %5D
于 2013-11-05T11:08:51.990 に答える
3

#含まれている可能性のあるパラメーターをエンコードしてから、サーバー側のコードでパラメーターをデコードする必要があります。

こののように、インターネットの多くのリソースを使用して文字列を URL エンコードできます。あなたの場合、 にanil#1234なりanil%231234ます。

于 2013-11-05T11:10:38.213 に答える
1

値をエンコードする必要があります (文字列連結を使用して URL を作成している場合)。javascript では、次のようにencodeURIComponent()を使用できます

encodeURIComponent('anil#1234');//or your variable here
于 2013-11-05T11:09:04.980 に答える