ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery でエスケープされた URL パラメータをデコードするにはどうすればよいですか?

jQuery でエスケープされた URL パラメータをデコードするにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-09 06:42:11450ブラウズ

How Can I Decode Escaped URL Parameters in jQuery?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。