2013-06-06 7 views
6

मैं डार्ट के साथ एक HTTP सर्वर लिखा था, और अब मैं फ़ॉर्म प्रविष्टियों पार्स करने के लिए चाहता हूँ। विशेष रूप से, मैं HTML फॉर्म से सबमिट x-url-form-encoded फ़ॉर्म को संभालना चाहता हूं। मैं dart:io लाइब्रेरी के साथ ऐसा कैसे कर सकता हूं?मैं डार्ट के साथ फ़ॉर्म सबमिशन कैसे पार्स करूं?

उत्तर

9

HTTP अनुरोध के शरीर में पढ़ने के लिए HttpBodyHandler क्लास का उपयोग करें और इसे कुछ उपयोगी में बदल दें। एक फॉर्म जमा करने के मामले में, आप इसे एक मानचित्र में बदल सकते हैं।

import 'dart:io'; 

main() { 
    HttpServer.bind('0.0.0.0', 8888).then((HttpServer server) { 
    server.listen((HttpRequest req) { 
     if (req.uri.path == '/submit' && req.method == 'POST') { 
     print('received submit'); 
     HttpBodyHandler.processRequest(req).then((HttpBody body) { 
      print(body.body.runtimeType); // Map 
      req.response.headers.add('Access-Control-Allow-Origin', '*'); 
      req.response.headers.add('Content-Type', 'text/plain'); 
      req.response.statusCode = 201; 
      req.response.write(body.body.toString()); 
      req.response.close(); 
     }) 
     .catchError((e) => print('Error parsing body: $e')); 
     } 
    }); 
    }); 
} 
+1

HttpBodyHandler तोड़ने परिवर्तन के अनुसार पब पैकेज http_server में ले जाया गया: https://groups.google.com/a/dartlang.org/forum/#!topic/misc/iXbyaSfS2bE – bbs

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