2012-08-02 14 views
6

मुझे डार्ट का उपयोग करके URL/URI के पैरामीटर/मान जोड़े कैसे प्राप्त करें? दुर्भाग्यवश वर्तमान में इस समस्या के लिए कोई अंतर्निहित कार्यक्षमता नहीं है, न तो उरी लाइब्रेरी या स्थान इंटरफ़ेस।मानचित्र के रूप में Uri से पैरामीटर/मान जोड़े निकालें

उत्तर

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&param1&param2=value2&param3 
    final uriSearch = window.location.search; 
    final paramMapping = getUriParams(uriSearch); 
+0

वहाँ एक सुविधा का अनुरोध बग है देता है? –

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 का उपयोग किसी नक्शे में क्वेरी विभाजित करने के लिए कर सकते हैं।

संबंधित मुद्दे