Snapshot.data always false FutureBuilder

Hi guys I’m having problems with FutureBuilder I don’t know what happens but when I want to print the snapshot data is always null.

/@dart=2.9
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:todo/Controller/Person.dart';
import 'package:todo/Pages/Subjects/WidgetSubject.dart';
import 'package:http/http.dart' as http;

Future<List<Person>> _getAllPerson() async {
  final response =
      await http.post(Uri.parse("http://localhost/PersonDB/getPerson.php"));
  return personFromJson(response.body);
}

void main() => runApp(SubjectScreen(val: "Maths"));

@immutable
class SubjectScreen extends StatelessWidget {
  String val;
  SubjectScreen({@required this.val});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.amber,
        appBar: AppBar(
          backgroundColor: Colors.transparent,
          elevation: 0,
        ),
        body: Container(
          child: FutureBuilder<List<Person>>(
              future: _getAllPerson(),
              initialData: [],
              builder:
                  (BuildContext context, AsyncSnapshot<List<Person>> snapshot) {
                print(snapshot.data);
                if (snapshot.connectionState == ConnectionState.waiting) {
                  return Center(
                    child: CircularProgressIndicator(),
                  );
                } else {
                  if (snapshot.data != null) {
                    List<Person> p = snapshot.data;
                    return ListView.builder(
                      itemCount: snapshot.data.lenght;
                      itemBuilder: (context, index) {
                        return Subject(text: p[index].toString());
                      },
                    );
                  } else if (snapshot.hasError)
                    return Text("Error");
                  else
                    return Text("Not data");
                }
              }),
        ),
      ),
    );
  }
}