是否存在經過查詢字符串傳遞數組的標準方法? html
須要明確的是,我有一個帶有多個值的查詢字符串,其中一個是數組值。 我但願將該查詢字符串值視爲一個數組-我不但願該數組爆炸,以使其與其餘查詢字符串變量沒有區別。 數組
另外,根據該帖子的答案 ,做者建議未定義對數組的查詢字符串支持。 這個準確嗎? 瀏覽器
編輯: 服務器
根據@Alex的答案,沒有標準的方法能夠執行此操做,所以個人後續工做是什麼纔是識別我正在讀取的參數同時是PHP和Javascript數組的簡單方法? app
用相同的名稱命名多個參數是否能夠接受,這樣我就知道它們屬於數組? 例: 測試
?myarray=value1&myarray=value2&myarray=value3...
仍是這是很差的作法? ui
我以爲這對於但願將查詢字符串中的數組傳遞給servlet的人頗有幫助。 我在查詢字符串下面進行了測試,並可以使用req.getgetParameterValues();獲取數組值。 方法。 如下是我經過瀏覽器傳遞的查詢字符串。 編碼
http://localhost:8080/ServletsTutorials/*.html? myname=abc&initial=xyz&checkbox=a&checkbox=b
複選框是個人蔘數數組。 spa
您在問題中提到了PHP和Javascript,但在標記中卻沒有說起。 我達到此問題的目的是將數組傳遞給MVC.Net操做。 code
我在這裏找到了問題的答案:預期的格式是您在問題中建議的格式,其中多個參數具備相同的名稱。
這對我有用:
在連接中,to屬性具備值:
to="/filter/arr?fruits=apple&fruits=banana"
路線能夠處理此問題:
path="/filter/:arr"
對於多個數組:
to="filter/arr?fruits=apple&fruits=banana&vegetables=potato&vegetables=onion"
路線保持不變。
屏幕截圖
我使用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
查詢字符串攜帶文本數據,所以別無選擇,只能展開數組,對其進行正確編碼,而後以您選擇的表明性格式傳遞它:
p1=value1&pN=valueN...
data=[value1,...,valueN]
data={p1:value1,...,pN:valueN}
而後在服務器端代碼中對其進行解碼。