問題

是否有一種無外掛的方法透過jQuery(或沒有)檢索查詢字串值?

如果是這樣,怎麼樣?如果沒有,是否有一個外掛可以這樣做?

  最佳答案

更新:2018年9月

您可以使用 URLSearchParams ,它很簡單,具有(但不完整)瀏覽器支援.

 const urlParams = new URLSearchParams(window.location.search);
const myParam = urlParams.get('myParam');
 

原件

為此目的,您不需要jQuery.您可以使用一些純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, ' '));
}
 

用法:

 // query string: ?foo=lorem&bar=&baz
var foo = getParameterByName('foo'); // "lorem"
var bar = getParameterByName('bar'); // "" (present with empty value)
var baz = getParameterByName('baz'); // "" (present with no value)
var qux = getParameterByName('qux'); // null (absent)
 


2001年12月31日終了的兩年期收入和支出及準備金和基金結餘變動報表 注意:如果引數存在幾次(?foo=lorem&foo=ipsum),您將獲得第一個值(lorem).關於這個問題沒有標準,並且用法各不相同,例如,參見this question:重複HTTP GET查詢鍵的權威位置.
2001年12月31日終了的兩年期收入和支出及準備金和基金結餘變動報表 注意:該函式非常敏感。如果您喜歡不敏感的引數名,將“i”修飾符新增到RegExp


這是一個基於新的 URLSearchParams specs 的更新,以更簡潔地實現相同的結果.請參閱下面題為“ URLSearchParams ”的答案.

  相同標籤的其他問題

javascripturlpluginsquery-string