2017-02-23 95 views
0

此函數僅適用於參數。用於檢索多個查詢字符串值的JavaScript函數

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

請我需要一個JavaScript函數,可以檢索多個查詢參數,我需要通過參數作爲關鍵函數的名稱。謝謝

在亞歷克斯共享鏈接的功能如下

 

    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?param2 = lagos 而不是luth。

這與我分享的功能是一樣的問題。 我的問題是一個JavaScript函數檢索多個查詢參數,但功能只適合一個參數

+1

的可能重複[我怎樣才能在JavaScript查詢字符串值?(http://stackoverflow.com/questions/901115/how-can-i-get-query -string-values-in-javascript) –

+0

謝謝Alex。我將測試鏈接中的功能並回復給您。 –

回答

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。你是對的。修正案之後,它現在正在工作。 –

相關問題