URL 送信パラメータにはいくつかの特殊文字があり、これらの記号を URL で直接渡すことはできません。これらの特殊記号を URL で渡す場合は、そのエンコーディングを使用する必要があります。
次の表に、いくつかの URL 特殊記号とエンコードされた 16 進値を示します。
1. + URL 内の + 記号はスペースを表します%2B
2. URL 内のスペースは + 記号でマークするか、%20 でエンコードできます。
3. / はディレクトリとサブディレクトリを区切ります%2F
4. ? 実際の URL とパラメータ %3F を分離します。
5. % は特殊文字 %25 を指定します。
6. # はブックマーク%23 を意味します
7. URL で指定されたパラメータ間の & 区切り文字 %26
8. = URL%3D で指定されたパラメータの値
解決:
replace() メソッドは、str.replace("-","!") が直接使用された場合、最初に一致した文字のみを置換します。
また、str.replace(//-/g, "!") は、一致するすべての文字を置き換えることができます (g はグローバル フラグです)。
交換する()
js 内の文字変数を次のように置き換えます。
data2=data2.replace(//%/g,"%25");
data2=data2.replace(//#/g,"%23");
data2=data2.replace(//&/g,"%26");