2014-04-04 61 views
-1

是否有我可以調用來檢索url參數的jquery函數。jquery函數返回url參數

我一直在使用這個函數,它工作正常,但當它沒有參數時它會中斷。我希望它返回 '' 當有

function getUrlParameter(name) 
    { 
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); 
return results[1] || 0; 

     } 

所以對於www.mywebsite.com/index?var1=foo調用getUrlParameter(VAR1)應該返回foo和爲www.mywebsite.com getUrlParameter(VAR1)應返回''

+0

http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript –

回答

-1

爲了實現這個,我創建了一個返回任何參數變量值的函數。

功能GetURLParameter(sParam){ VAR sPageURL = window.location.search.substring(1); var sURLVariables = sPageURL.split('&'); (var i = 0; < sURLVariables.length; i ++) var sParameterName = sURLVariables [i] .split('='); if(sParameterName [0] == sParam) { return sParameterName [1]; } }}

這是你可以使用這個功能假設URL是, 「http://dummy.com/?technology=jquery&blog=jquerybyexample」。

var tech = GetURLParameter('technology'); var blog = GetURLParameter('blog');

所以在上面的代碼中,變量「tech」將有「jQuery」作爲值,「blog」變量將是「jquerybyexample」。

+0

我想這對於網址沒有變化工作,所以如果我叫getUrlParameter ('blog')會返回www.mywebsite.com的'' –

0

$ .urlParam =功能(名稱){VAR 結果=新的RegExp( '[\?&]' +名字+ '=([^ &#] *)')。EXEC(window.location的.href); 返回結果[1] || 0; }

// example.com?param1 = name & param2 = & id = 6 $ .urlParam('param1'); // name $ .urlParam('id'); // 6 $ .urlParam('param2'); // null

//示例帶空格的參數http://www.jquery4u.com?city=Gold海岸 console.log($。urlParam('city')); // output:Gold%20Coast

console.log(decodeURIComponent($。urlParam('city'))); //輸出:黃金海岸

這可以被用於例如設置一個文本輸入字段的默認值:

$('#城市)VAL(decodeURIComponent($。 urlParam( '城市')));