2012-07-18 175 views
0

我正在尋找一個像PHP的$ _GET一樣行事的jQuery代碼。在這樣的鏈接http://example.com/index.php?page=pics&action=show我想獲得「頁面」和「行動」值。在PHP中,它很容易完成,但我需要它在jQuery中。我試圖使用$(location).attr('href');獲得整個網址,但後來我不得不對其進行過濾,並且我確信有一個更簡單的方法。jQuery從url獲取信息

感謝您的建議。

+0

http://meta.stackexchange.com/questions/45176/when-is-use-jquery-not-a-valid-answer-to-a-javascript - 問題 – bPratik 2012-07-18 09:11:33

+0

你試圖達到什麼已經在這裏回答http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript – bPratik 2012-07-18 09:12:51

回答

2

很多方法可以做到here。 我推薦JQuery URL Parser

只需添加的URL解析器腳本到您的網頁,並以下列方式

$.url('http://xyz.com?param1=abc&param2=def').param('param1'); // returns 'abc' 
1

我已經做了完整的垃圾箱上面的解決方案中使用它。

請按照以下步驟操作:

1)包含最新的jquery.js文件。

2)包含querystring-0.9.0.js用於在js中獲取查詢字符串變量值。

3)HTML:

<a href="#?param1=abc&param2=def"> 
    abc 
</a> 

這裏我用「#參數1 = ABC &參數2 = DEF?」因爲箱就不可能重定向頁面並執行我們的Java腳本,所以我剛纔在同一頁面添加查詢字符串並對其進行測試。

4)的jQuery腳本標籤:

$(function() { 
    $("a").click(function() { 
     setTimeout(function() { 
      var param1 = $.QueryString("param1"); 
      var param2 = $.QueryString("param2"); 
      alert(param1); 
      alert(param2); 
     }, 300); 

    }); 
}); 

上面的腳本工作正常,如果查詢字符串已在同一頁上添加,但對於不同的頁面的導航,你必須刪除setTimeout函數,但保持腳本,因爲它位於其中,並在您使用查詢字符串進行導航的頁面上執行以下語句。所以,不同的導航需要首先包含jquery和querystring-0.9.0.js這兩個java腳本文件。

$(function() { 
      var param1 = $.QueryString("param1"); 
      var param2 = $.QueryString("param2"); 
      alert(param1); 
      alert(param2); 
}); 

您可以嘗試在http://codebins.com/bin/4ldqpac