【问题标题】:Flutter http Response body is empty [duplicate]Flutter http响应正文为空[重复]
【发布时间】:2020-11-23 18:13:44
【问题描述】:

我想从此 API“https://fantasy.premierleague.com/api/bootstrap-static/”中检索数据,但每次我发出 http.get() 请求时,响应的正文都是空的试试我的代码,看看问题出在颤振还是我身上

前段时间我已经遇到过这个问题,这段代码对我不起作用,但在其他人尝试时运行良好,我在执行“Flutter 升级后问题得到解决"但问题又出现了,我不明白问题出在哪里,这让我很着急。

代码:

import 'package:flutter/material.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
import 'package:http/http.dart' as http;

void main() {
  runApp(
    MaterialApp(
      debugShowCheckedModeBanner: false,
      home: MyHomePage(),
    ),
  );
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key}) : super(key: key);
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Future<String> getData() async {
    http.Response response = await http
        .get(
      "https://fantasy.premierleague.com/api/bootstrap-static/",
    )
        .then((value) {
      print(value.body.toString());
      return value;
    });
    var data = response.body;
    print(data); //Shows nothing
    print(data.isEmpty); // "TRUE"
    print(data.length); // "0"
    return response.body;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          getData();
        },
      ),
      body: Center(
        child: Text("Hello World"),
      ),
    );
  }
}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您应该使用async awaitthen。 将您的代码更改为此。

    Future<String> getData() async {
      http.Response response = await http.get(
        "https://fantasy.premierleague.com/api/bootstrap-static/",
      );
      return response.body;
    }
    

    【讨论】:

    • 谢谢!很抱歉,问题没有解决我尝试了你的代码,但正文仍然是空的!
    • 我试过了,得到了同样的结果。问题出在 API 上。我在 Postman 中发送了请求,但 URL 中没有斜杠(即https://fantasy.premierleague.com/api/bootstrap-static),但正文为空。猜猜这个问题与 dart 转义 URL 的方式有关。
    • 我真的不明白问题出在哪里,我请朋友在他的电脑上尝试代码,他在 Iphone 模拟器上尝试过,它运行良好,问题不在 API 中,但我不知道在哪里。
    猜你喜欢
    • 2019-10-29
    • 2016-02-16
    • 2020-04-17
    • 2014-04-25
    • 1970-01-01
    • 2011-09-30
    • 2021-02-27
    • 2020-11-29
    • 1970-01-01
    相关资源
    最近更新 更多