2012-04-20 9 views
14

क्या डार्ट में urlencoding करने के लिए कोई फ़ंक्शन है? मैं XMLHttpRequest ऑब्जेक्ट का उपयोग करके AJAX कॉल कर रहा हूं और मुझे url एन्कोडेड होने के लिए यूआरएल की आवश्यकता है।डार्ट में urlencoding

मैंने dartlang.org पर एक खोज की, लेकिन इससे कोई परिणाम नहीं निकले।

उत्तर

11

अद्यतन: वहाँ अब/एनकोड के लिए समर्थन में the Dart Uri class

डार्ट के यूआरआई कोड एक अलग पुस्तकालय में रखा गया है यूआरआई डिकोड dart:uri कहा जाता है (इसलिए यह dart:html और dart:io के बीच साझा किया जा सकता है)। मुझे लगता है कि वर्तमान में इसमें urlencode फ़ंक्शन शामिल नहीं है, इसलिए अब आपके लिए सबसे अच्छा विकल्प संभवतः this जावास्क्रिप्ट के encodeUriComponent के डार्ट कार्यान्वयन का उपयोग करना है।

+0

मुझे लगता है कि मैं अब के लिए इसके साथ रह सकते हैं। लेकिन यह अच्छा होगा अगर यह डार्ट में जोड़ा जाता है: यूरी। – Sudar

+0

@ सुडर सहमत हैं कि मैं इसे –

+1

डार्ट में प्राप्त करने के लिए कुछ शोर बनाने की कोशिश करूंगा: यूरी हटा दी गई है, अब यह कोर का हिस्सा है। 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 और एनकोड कॉम्पोनेंट विधि देखें।

नोट, इसमें कुछ पात्रों की भी कमी है, इसे विस्तारित करने की आवश्यकता है। डार्ट वास्तव में यह अंतर्निहित और आसान होना चाहिए था। यह वास्तव में हो सकता है, लेकिन मुझे यह नहीं मिला।

7

मैंने मानचित्र को एक यूआरएल एन्कोडेड स्ट्रिंग में बदलने के लिए यह छोटा फ़ंक्शन लिखा था, जो आप खोज रहे हैं।

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