2017-02-23 15 views
0

この関数は、パラメータに対してのみ機能します。複数のクエリ文字列値を取得するJavaScript関数

function getQueryStringValue(key) { 
    debugger; 
    return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 
}; 

は私が複数のクエリ文字列パラメータを取得することができますJavaScript関数を必要としてください、私は、関数のキーとしてパラメータの名前を渡す必要があります。あなた

ありがとうアレックスが共有リンク内の関数は、このように私のURLを持つ

 

    function getParameterByName(name, url) { 
     if (!url) { 
      url = window.location.href; 
     } 
     name = name.replace(/[\[\]]/g, "\\$&"); 
     var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
      results = regex.exec(url); 
     if (!results) return null; 
     if (!results[2]) return ''; 
     return decodeURIComponent(results[2].replace(/\+/g, " ")); 
    }; 

以下の通りです:

 



     var url= 'search-results.html?param1=unth?param2=lagos'; 

そして私は、関数にこれを渡します

 

    var param1 = getParameterByName('param1'); 
    var param2 = getParameterByName('param2'); 

param1は、luthの代わりにluth?param2 = lagos として返されます。

これは私が共有する機能と同じ問題です。 私の質問は、複数のクエリ文字列パラメータを取得するJavaScript関数ですが、関数が一つのパラメータに対してのみ機能

+1

が重複する可能性[私はJavaScriptでクエリ文字列の値を取得できますか?](http://stackoverflow.com/questions/901115/how-can-i-get-query -string-values-in-javascript) –

+0

ありがとう、アレックス。私はリンクの機能をテストし、あなたに連絡します。 –

答えて

0

あなたのURLは次のようになります。この場合、機能に var url= 'search-results.html?param1=unth&param2=lagos';

は動作します。

var param1 = getParameterByName('param1'); //return unth

var param2 = getParameterByName('param2'); //return lagos

+0

SouXinありがとうございました。あなたが正しいです。改正後は現在作業中です。 –

関連する問題