如何使用Dart獲取URL/URI的參數/值對?不幸的是,目前在這個問題上沒有內置功能,在Uri庫或位置接口中都沒有。從Uri中提取參數/值對作爲地圖
6
A
回答
2
現在有開放的我們的queryParameters成員返回一個地圖
Uri u = Uri.parse("http://app.org/main?foo=bar&baz=bat");
Map<String,String> qp = u.queryParameters;
print(qp);
// {foo: bar, baz: bat}
0
Map<String, String> getUriParams(String uriSearch) {
if (uriSearch != '') {
final List<String> paramValuePairs = uriSearch.substring(1).split('&');
var paramMapping = new HashMap<String, String>();
paramValuePairs.forEach((e) {
if (e.contains('=')) {
final paramValue = e.split('=');
paramMapping[paramValue[0]] = paramValue[1];
} else {
paramMapping[e] = '';
}
});
return paramMapping;
}
}
// Uri: http://localhost:8080/incubator/main.html?param=value¶m1¶m2=value2¶m3
final uriSearch = window.location.search;
final paramMapping = getUriParams(uriSearch);
0
// url=http://127.0.0.1:3030/path/Sandbox.html?paramA=1&parmB=2#myhash
void main() {
String querystring = window.location.search.replaceFirst("?", "");
List<String> list = querystring.split("&").forEach((e) => e.split("="));
print(list); // [[paramA, 1], [parmB, 2]]
}
2
您可以使用Uri.splitQueryString的查詢拆分成地圖。
相關問題
- 1. 從LinkedHashMap提取地圖值作爲ArrayList
- 2. 如何從地圖地圖中的每個值中提取值?
- 3. 讀取URI來提取參數
- 4. 從地圖提取數據
- 5. 從參數*名稱*中提取值?
- 6. 從地圖對象中提取顏色值
- 7. php從數組中提取值並將其作爲參數傳遞給函數
- 8. 從表中獲取值作爲參考
- 9. 提取參數值
- 10. 在URI中傳遞URI作爲Drupal 6中的URL參數
- 11. 從對象數組中提取值
- 12. 從JSON數組中提取鍵/值對
- 13. 從參數中提取ID
- 14. 從數據url/uri圖像中提取像素顏色
- 15. 從表單對象中提取數據作爲數組數組
- 16. 如何獲取URI作爲NodeJS中的參數
- 17. 從Perl腳本中的命令行中提取參數作爲參數
- 18. 爲每個新客戶端提取GStreamer和URI查詢參數
- 19. 圖像提取:uri太長
- 20. 如何從對象數組中提取鍵作爲數組?
- 21. 值不能爲空。參數名稱:uri
- 22. 如何從位圖獲取Uri對象
- 23. 提交表單作爲對象參數
- 24. 將json值作爲具有lift-json的地圖提取
- 25. 從數組中提取值
- 26. 從數組中提取值
- 27. 從Google地圖提取原始數據
- 28. 從scanf中提取的參考值
- 29. 序列化:將對象傳遞爲URL參數並提取值
- 30. 從請求URI中提取錨標籤
是否有一個功能要求的錯誤? – 2012-08-04 18:13:53