如何在查詢字符串中傳遞數組?

是否存在經過查詢字符串傳遞數組的標準方法? html

須要明確的是,我有一個帶有多個值的查詢字符串,其中一個是數組值。 我但願將該查詢字符串值視爲一個數組-我不但願該數組爆炸,以使其與其餘查詢字符串變量沒有區別。 數組

另外,根據該帖子的答案 ,做者建議未定義對數組的查詢字符串支持。 這個準確嗎? 瀏覽器

編輯: 服務器

根據@Alex的答案,沒有標準的方法能夠執行此操做,所以個人後續工做是什麼纔是識別我正在讀取的參數同時是PHPJavascript數組的簡單方法? app

用相同的名稱命名多個參數是否能夠接受,這樣我就知道它們屬於數組? 例: 測試

?myarray=value1&myarray=value2&myarray=value3...

仍是這是很差的作法? ui


#1樓

我以爲這對於但願將查詢字符串中的數組傳遞給servlet的人頗有幫助。 我在查詢字符串下面進行了測試,並可以使用req.getgetParameterValues();獲取數組值。 方法。 如下是我經過瀏覽器傳遞的查詢字符串。 編碼

http://localhost:8080/ServletsTutorials/*.html? 
  myname=abc&initial=xyz&checkbox=a&checkbox=b

複選框是個人蔘數數組。 spa


#2樓

您在問題中提到了PHP和Javascript,但在標記中卻沒有說起。 我達到此問題的目的是將數組傳遞給MVC.Net操做。 code

我在這裏找到了問題的答案:預期的格式是您在問題中建議的格式,其中多個參數具備相同的名稱。


#3樓

這對我有用:

在連接中,to屬性具備值:

to="/filter/arr?fruits=apple&fruits=banana"

路線能夠處理此問題:

path="/filter/:arr"

對於多個數組:

to="filter/arr?fruits=apple&fruits=banana&vegetables=potato&vegetables=onion"

路線保持不變。

屏幕截圖

在此處輸入圖片說明


#4樓

我使用React和Rails。 我作了:

js

let params = {
    filter_array: ['A', 'B', 'C']
  }

  ...

  //transform params in URI

  Object.keys(params).map(key => {
    if (Array.isArray(params[key])) {
      return params[key].map((value) => `${key}[]=${value}`).join('&')
    }
  }
  //filter_array[]=A&filter_array[]=B&filter_array[]=C

#5樓

查詢字符串攜帶文本數據,所以別無選擇,只能展開數組,對其進行正確編碼,而後以您選擇的表明性格式傳遞它:

p1=value1&pN=valueN...
data=[value1,...,valueN]
data={p1:value1,...,pN:valueN}

而後在服務器端代碼中對其進行解碼。

相關文章
相關標籤/搜索