我正在从 express API 向颤振应用程序发送 GET 请求,但我没有得到任何输出
Posted
技术标签:
【中文标题】我正在从 express API 向颤振应用程序发送 GET 请求,但我没有得到任何输出【英文标题】:I am sending the GET request to the flutter app from the express API but I am not getting any output 【发布时间】:2021-06-24 02:20:48 【问题描述】:我正在从 express API 向 Flutter 应用程序发送 GET 请求,但在 Flutter 应用程序中没有得到任何输出。 API 在邮递员中工作,我在邮递员中得到了完美的输出。
请帮忙
testing() async
debugPrint("Hello");
http.Response response = await
http.get("http://192.168.119.97:3000/api/cricketer");
debugPrint((response.body));
debugPrint("Hello hy");
Future getData() async
http.Response response = await
http.get("http://192.168.119.97:3000/api/cricketer");
debugPrint((response.body));
data = json.decode(response.body);
debugPrint(('$data'));
setState(()
userData = data["cricketers"];
debugPrint("Hello ");
debugPrint(('$userData'));
);
调用函数:
@override
void initState()
super.initState();
getData();
testing();
@override
Widget build(BuildContext context)
return Scaffold(
appBar: AppBar(
title: Text("Cricketer Info"),
backgroundColor: Colors.pink,
),
body: ListView.builder(
itemCount: userData == null ? 0 : userData.length,
itemBuilder: (BuildContext context, int index)
return Card(
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Row(
children: <Widget>[
// CircleAvatar(
// backgroundImage: NetworkImage(userData[index][""]),
// ),
Padding(
padding: const EdgeInsets.all(10.0),
child: Text("$userData[index]["name"]",
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w700,
),),
)
],
),
),
);
,
),
);
我也上传了代码。请检查并在可能的情况下提供帮助
【问题讨论】:
请使用代码而不是图片。还要附上你调用函数的代码部分,这只是方法的定义。 我也添加了代码。请检查 【参考方案1】:首先,您必须对正文进行 JSON 解码以进行打印, json.decode() 会产生一些误导。您可以使用 'dart:convert' package 中的 jsonDecode(result.body) 。这里我附上了一些 登录示例代码(发布请求)。解码后,您可以使用数据模型和工厂方法转换为 dart 对象。
repo dart file that send post request
my data model with a factory method for decode json to dart
【讨论】:
以上是关于我正在从 express API 向颤振应用程序发送 GET 请求,但我没有得到任何输出的主要内容,如果未能解决你的问题,请参考以下文章
使用 express.router() 使用 api 密钥向第三方 API 发出获取请求;