簡體   English   中英

如何從JavaScript中的URL獲取具有相同名稱的多個參數

[英]How to get multiple parameters with same name from a URL in JavaScript

一個問題,但可能沒有結束,我如何從URL獲取變量。 在我的所有搜索中,我發現了幾種從網址獲得A=aValue非常好的方法。

但我的問題是我需要的

?Company=FLHS&Device=Crosstown_PCC_01&A=aValue&A=secondAValue

我需要一個url中的兩個A的數組,我需要知道aValue是第一個, secondAValue是第二個

我有jquery Mobile。

更新

所以這就是我現在擁有的

var urlParamDevice = getURLParameter('DeviceID');


function getURLParameter(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]
    );

getURLParameter(name)需要更強大一些。

更新2,2014 / 03/07這是我從建議的答案中得出的結論

function getQueryParams(name) {
   qs = location.search;

   var params = [];
   var tokens;
   var re = /[?&]?([^=]+)=([^&]*)/g;

   while (tokens = re.exec(qs))
   { 
       if (decodeURIComponent(tokens[1]) == name)
       params.push(decodeURIComponent(tokens[2]));
   }

   return params;
}

 function getparamNameMultiValues(paramName){ var sURL = window.document.URL.toString(); var value =[]; if (sURL.indexOf("?") > 0){ var arrParams = sURL.split("?"); var arrURLParams = arrParams[1].split("&"); for (var i = 0; i<arrURLParams.length; i++){ var sParam = arrURLParams[i].split("="); console.log(sParam); if(sParam){ if(sParam[0] == paramName){ if(sParam.length>0){ value.push(sParam[1].trim()); } } } } } return value.toString(); } 

這將是這樣的: https//stackoverflow.com/a/1099670/1020854 - 但稍作修改

function getQueryParams(qs) {
    qs = qs.split("+").join(" ");

    var params = [], tokens,
    re = /[?&]?([^=]+)=([^&]*)/g;

    while (tokens = re.exec(qs)) {
        params.push({k:decodeURIComponent(tokens[1]),v:decodeURIComponent(tokens[2])});
    }

    return params;
}

var obj = 
  getQueryParams("?Company=FLHS&Device=Crosstown_PCC_01&A=aValue&A=secondAValue")

obj[0] is {k: "Company", v: "FLHS"}
obj[1] is {k: "Device", v: "Crosstown_PCC_01"}
obj[2] is {k: "A", v: "aValue"}
obj[3] is {k: "A", v: "secondAValue"}

有時這會起作用:

A[]=aValue&A[]=secondAValue

否則你可以這樣做:

A_1=aValue&A_2secondAValue

您可以拆分下划線或主要使用您選擇的任何字符來區分查詢字符串“A”的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM