我想从 API 接收数据,为此我创建了一个服务:
class ApiService {
Future<List<dynamic>> getData() async {
try {
var response = await http.get(Uri.parse(Config.apiURL));
debugPrint('Response code: ${response.statusCode}');
if (response.statusCode == 200) {
List<dynamic> data=jsonDecode(response.body) as List<dynamic>;
debugPrint('in service:${data.toString()}');
return data ;
}
else{
debugPrint('else');
return [];
}
} catch (e) {
throw Exception("Failed to fetch data..");
}
}
}
我从
StatefulWidget
给他打电话:
void getData() async {
debugPrint('entrance');
userDataList= await ApiService().getData();
debugPrint(userDataList.toString());
}
@override
void initState() {
debugPrint('init');
super.initState();
getData();
}
由于某种原因,我没有收到数据。希望得到您的帮助。
检查 Flutter devtool 网络检查器以查看您的请求的响应是什么。另请检查您的设备是否可以正常访问互联网:没有 DNS 问题、代理、VPN 错误。
如果你的方法被调用并且从不响应,也许检查使用的http版本?老的?
为了帮助你,我需要更多: