0
這是常見的通過具有多個值的參數作爲一個GET查詢字符串傳遞對象與多個值作爲一個GET查詢字符串參數:採用愛可信
http://server/status?stat=a&stat=b
一個人如何創造這種類型的查詢字符串在JS中使用axios庫?創建一個對象,其中的參數名稱是鍵和值是多個值的陣列創建一個查詢字符串:
這是從什麼服務器預期的格式不正確。這可以在axios中完成嗎?
這是常見的通過具有多個值的參數作爲一個GET查詢字符串傳遞對象與多個值作爲一個GET查詢字符串參數:採用愛可信
http://server/status?stat=a&stat=b
一個人如何創造這種類型的查詢字符串在JS中使用axios庫?創建一個對象,其中的參數名稱是鍵和值是多個值的陣列創建一個查詢字符串:
這是從什麼服務器預期的格式不正確。這可以在axios中完成嗎?
常見的是通過具有多個值的參數作爲在查詢字符串GET
這決不是一個標準。不同的語言,框架實施不同的解決方案。在Authoritative position of duplicate HTTP GET query keys上看到這個問題。
這可以在axios中完成嗎?
在Node.js的,你可以使用查詢字符串模塊如下:
var querystring = require('querystring'); axios.post('http://something.com/', querystring.stringify({ foo: 'bar'});
您還可以使用QS庫。
qs library支持數組。
另一種方法是使用Connect。
更新
的QS庫支持陣列,但僅當該參數被後綴[]
:
var paramsString = "q=URLUtils.searchParams&topic[]=api&topic[]=bar"
或者,URLSearchParams API提供getAll()
方法:
var paramsString = "q=URLUtils.searchParams&topic=api" var searchParams = new URLSearchParams(paramsString); searchParams.getAll("topic"); // ["api"]
這在IE中不起作用,但可以使用polyfill url-search-params。
URLSearchParams API也可以根據Axios文檔使用。謝謝@sgtdck – flashmatrix
我試過qs庫,但它目前不支持1對多鍵/值對(key = stat,value = 1,2,3 ...)。 URLSearchParams接口仍然是一個有效的解決方案。該API在IE中不受支持,但可以使用polyfill [url-search-params](https://github.com/WebReflection/url-search-params)。 – flashmatrix
@flashmatrix我更新了答案,但重新閱讀您的評論我沒有意識到你需要1:許多鍵/值對。你的意思是'?key = stat&value = 1,2,3'這會導致'stat = [1,2,3]'? – sgtdck