jQuery でエスケープされた URL パラメーターをデコードする
jQuery アプリケーションで URL パラメーターを取得するとき、特に次の場合にエスケープ文字に関する問題が発生するのが一般的です。パラメータには非ラテン文字または特殊記号が含まれています。これにより、JavaScript で悪名高い「不正な URI シーケンス」エラーが発生する可能性があります。
標準の jQuery 関数 $.getUrlParam() を使用している場合、エスケープ文字を含む URL パラメータがサポートされない可能性があります。このような場合、エスケープを正しく処理するように関数を変更できます。
エスケープされたパラメータをデコードできる、変更された getURLParameter() 関数の例を次に示します。
function getURLParameter(name) { return decodeURI( (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] ); }
この関数は decodeURI( ) 正規表現を使用してパラメータ値を照合した後、パラメータ値をデコードします。
この変更された関数を使用するには、単純に元の関数を置き換えます。 $.getUrlParam() と更新された関数。たとえば、通常:
let searchParam = $.getUrlParam('search');
を使用する場合、次のようになります:
let searchParam = getURLParameter('search');
この変更された getURLParameter() 関数は、エスケープされた URL パラメータを、たとえパラメータに含まれていないものであっても正しくデコードする必要があります。 - ラテン文字または特殊記号
以上がjQuery でエスケープされた URL パラメータをデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。