// Copyright 2015, the Flutter project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'dart:async'; import 'package:flutter/http.dart' as http; import 'package:flutter/material.dart'; void main() { runApp( new MaterialApp( title: "HTTP POST Example", routes: { '/': (RouteArguments args) => const PostDemo() } ) ); } class PostDemo extends StatefulComponent { const PostDemo(); PostDemoState createState() => new PostDemoState(); } class PostDemoState extends State<PostDemo> { String _response = null; void initState() { _refresh(); super.initState(); } Future _refresh() async { setState(() { _response = null; }); http.Response response = await http.post( "http://httpbin.org/post", body: "asdf=42", headers: { "foo": "bar" } ); setState(() { _response = response.body; }); } Widget build(BuildContext context) { return new Scaffold( toolBar: new ToolBar( center: new Text("HTTP POST example") ), body: new Material( child: new Block( [new Text( "${_response ?? 'Loading...'}", style: Typography.black.body1 )] ) ), floatingActionButton: new FloatingActionButton( child: new Icon( icon: 'navigation/refresh' ), onPressed: _refresh ) ); } }