我正在尝试使用Flutter应用程序中的API进行访问,但是每次单击“登录按钮”时都会出现这些错误
final resp = await http.post("http://192.168.73.5/myserv/login.php", body: {
"login": "login",
"apid": "re0b53fd92d4b1593db1880az322d66ea9d4",
"email": _email,
"pass": _password,
});
var __data =json.decode(resp.body);
if (__data.length == 0) {
final snackbar = SnackBar(
content: Text('Server error'),
);
scaffoldKey.currentState.showSnackBar(snackbar);
} else if (__data[0]['resp'] == 'error') {
final snackbar = SnackBar(
content: Text('Password or email is incorrect!'),
);
scaffoldKey.currentState.showSnackBar(snackbar);
} else if (__data[0]['resp'] == 'sucess') {
final snackbar = SnackBar(
content: Text('You are logged in'),
);
scaffoldKey.currentState.showSnackBar(snackbar);
Navigator.of(context)
.pushReplacement(MaterialPageRoute(builder: (context) => HomeApp()));
}
}
══╡小工具库引起的异常CA ═════════════════════ I / flutter(29517):在结束小部件树时引发了以下NoSuchMethodError: I / flutter(29517):方法“取消”在null上被调用。 I / flutter(29517):接收者:null I / flutter(29517):尝试调用:cancel() I / flutter(29517):引发异常时,这是堆栈:
答案 0 :(得分:1)
我的建议是看一下您的处理方法。在那里,您可能会注意到一条语句,在从未初始化或使用过的,仅声明过的东西上调用cancel方法。就我而言,出现此错误是因为在处置方法下,我试图取消对我未使用的Firebase服务的预订。我从来没有给它附加一个侦听器,因此在尝试取消它时,Flutter抱怨说“取消方法是在null上调用的”。我在处理方法中删除了不必要的行,并解决了错误。希望这个解释对别人有帮助。