2012-04-20 8 views
14

¿Hay una función para hacer urlencoding en Dart? Estoy haciendo una llamada AJAX utilizando el objeto XMLHttpRequest y necesito que la url sea codificada en url.urlencoding en Dart

Hice una búsqueda en dartlang.org, pero no apareció ningún resultado.

Respuesta

11

actualización: En la actualidad es el soporte para codificar/decodificar URI en the Dart Uri class

código URI de Dart se coloca en una biblioteca separada llamada dart:uri (por lo que se pueden compartir entre dart:html y dart:io). Parece que actualmente no incluye una función urlencode, así que su mejor alternativa por el momento es probablemente utilizar la implementación this Dart de JavaScript encodeUriComponent.

+0

creo que puedo vivir con ella por ahora. Pero estaría bien si esto se agrega a dardo: uri. – Sudar

+0

@Sudar de acuerdo, intentaré hacer un poco de ruido para obtenerlo en –

+1

dardo: uri ha sido eliminado, ahora es parte del núcleo. https://groups.google.com/a/dartlang.org/forum/#!topic/misc/pHyoawHOhU0 – Max

7

Escribí esta pequeña función para convertir un Mapa en una cadena codificada en URL, que puede ser lo que está buscando.

String encodeMap((Map data) { 
    return data.keys.map((key) => "${Uri.encodeComponent(key)}=${Uri.encodeComponent(data[key])}").join("&"); 
}