2012-04-20 14 views
14

ダーツでURLエンコードを行う機能はありますか?私はXMLHttpRequestオブジェクトを使用してAJAX呼び出しを行っています。私はURLをエンコードする必要があります。ダーツでのURLエンコード

私はdartlang.orgで検索しましたが、結果は表示されませんでした。

答えて

11

更新:そこ今dart:uri呼ばDARTのURIコードが別のライブラリ内に配置されるthe Dart Uri class

にURIをデコード/エンコードのためにサポートされている(それはdart:htmldart:io間で共有することができます)。私はそれが現在urlencode関数を含んでいないように見えるので、あなたの最良の選択肢はおそらくthis JavaScriptのencodeUriComponentのDart実装を使用することです。

+0

私は今のところ一緒に暮らすことができると思います。しかし、これがdart:uriに追加されるとうれしいでしょう。 – Sudar

+0

@Sudarは私がそれを得るために若干の騒音を出そうと試みることに同意する –

+1

ダーツ:uriは削除されました、それは今やコアの一部です。 https://groups.google.com/a/dartlang.org/forum/#!topic/misc/pHyoawHOhU0 – Max

1

私はまだ考えていません。 http://unpythonic.blogspot.com/2011/11/oauth20-and-jsonp-with-dartin-web.htmlとencodeComponentメソッドを確認してください。

メモ、いくつかの文字が欠けているので、拡張する必要があります。ダーツは本当にこれを組み込んで、簡単に手に入れるべきです。それは実際にそれを持っているかもしれませんが、私はそれを見つけませんでした。

7

マップをURLエンコードされた文字列に変換するこの小さな関数を書きましたが、これはあなたが探しているものかもしれません。

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