我试图在用户登录后显示我的json响应。当用户输入正确的信息时,它成功地在我的应用程序中显示响应。但是当用户在这里输入错误的凭证时,应用程序会崩溃,这是当用户输入错误信息时我的json响应。它应该显示状态=0在我的应用程序显示(或任何我想显示的响应
I/flutter (16426): {"Status":"0","Message":"Wrong Password provided","UserData":null}
这是当用户按下登录按钮时我的API调用
Future<void> login() async{
var jsonResponse = null;
if (passwordontroller.text.isNotEmpty && emailController.text.isNotEmpty) {
var response = await http.post(Uri.parse("http://jhhjhjhjhjhjhj"),
body: ({
'LoginId': emailController.text,
'Password': passwordontroller.text
}));
if (response.statusCode == 200) {
print("Correct");
print(response.body);
jsonResponse = json.decode(response.body.toString());
print(jsonResponse);
Navigator.push(context, MaterialPageRoute(builder: (context)=>AfterLoginResPage(response: ApiResponse.fromJson(jsonResponse))));
}
else {
print("Wronggooooooooooooooooooooooooooo");
print(response.body);
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Invalid credentials")));
}
} else {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Blank field is not allowed")));
}
}
我的模型类
class ApiResponse {
ApiResponse({
required this.status,
required this.message,
required this.userData,
});
String status;
String message;
UserData userData;
factory ApiResponse.fromJson(Map<String, dynamic> json) => ApiResponse(
status: json["Status"],
message: json["Message"],
//userData: UserData.fromJson(json["UserData"]),
userData: json["UserData"] == null? null:UserData.fromJson(json["UserData"]), //======== Updated
);
}
class UserData {
UserData({
required this.name,
required this.encUserId,
});
String name;
String encUserId;
factory UserData.fromJson(Map<String, dynamic> json) => UserData(
name: json["Name"],
encUserId: json["EncUserId"],
);
}
然后在这里,我显示我的响应,当用户输入正确的凭据时,该响应成功执行。但是在输入错误的凭据时崩溃了
children: [
Text("Status: ${widget.response.status}"),
Text("Message: ${widget.response.message}"),
我面临的另一个问题是,在这里我可以显示状态和消息,如果我想显示< code>Name
这是我在邮递员中输入正确信息后的 JSON 响应
{
"Status": "1",
"Message": "You are Logged in successfully",
"UserData": {
"Name": "tuhinroy881@gmail.com",
"EncUserId": "bbA/HajfPdswT0fhhiMvEg=="
}
}
.
由于启用了空安全,您需要将UserData UserData
更改为UserData?用户数据;和userData:json[“userData”]==null?null:用户数据。fromJson(json[“UserData”]作为Map
您的问题是您试图解析< code>UserData
,而您的错误响应没有任何< code>UserData相关信息。
class ApiResponse {
ApiResponse({
required this.status,
required this.message,
required this.userData,
});
String status;
String message;
UserData? userData;
factory ApiResponse.fromJson(Map<String, dynamic> json) => ApiResponse(
status: json["Status"],
message: json["Message"],
userData: json["UserData"] == null? null:UserData.fromJson(json["UserData"]),
);
}
问题内容: 我正在为JSON运行$ http.get,并且状态为0。我已经下载了相同的JSON,并且get在本地运行,并且在Python中使用请求库可以毫无问题地获取JSON,但是在AngularJS它不起作用。我不明白的是为什么为什么angular没有得到它,而其他所有东西都得到了。下面的代码段。 这提供了JSON并在使用本地文件时对其进行了解析,但否则会失败,并将status1设置为0。 问题
我在React Native中遇到了与Android 11相关的问题。在我的应用程序中,我从/storage/emulated/0/WhatsApp/Media/获取WhatsApp状态。在Android10之前,状态/文件夹所有东西都可以找到,但在Android11中,它什么也没有显示。请帮我做这件事。 这是我的反应原生代码读取WhatsApp状态文件夹
问题内容: 我遇到一个问题,在此应用程序上尝试POST请求时收到以下错误代码(请记住我是初学者node.js / js程序员): 错误: app.js: 以下是我的edit.js路由,我认为是发生问题的地方: 问题答案: 我刚才有一个类似的错误消息,并设法通过更改解决了该问题: 至: 要不就: 也就是说,请确保您未尝试在某处设置无效的HTTP状态代码。 这可能是问题所在,但看起来您不小心复制了代码
问题内容: 无法使用XMLHttpRequest获取数据(状态0,responseText为空): 它警告“状态0”。 与localhost请求的情况相同(cd_catalog.xml保存为本地文件) 但是使用本地主机IP请求 并与本地文件请求 一切正常(状态200) 什么会导致在线请求出现问题(状态= 0)? PS:Live HTTP标头显示在所有4种情况下一切正常: PS2:VMWare上的A
我正在尝试创建一个非常简单的应用程序,当点击中心小部件时,列表中的元素会显示出来。 这是我的代码: 没有显示任何错误,但同时,我的目标没有达到,因为没有显示任何文本,即使我添加了这个代码打印(yourList[randomIndex]),也不会在终端中打印任何内容;。我如何显示文本,并使打印出现?
本文向大家介绍Android仿QQ在状态栏显示登录状态效果,包括了Android仿QQ在状态栏显示登录状态效果的使用技巧和注意事项,需要的朋友参考一下 运行本实例,将显示一个用户登录界面,输入用户名(hpuacm)和密码(1111)后,单击"登录"按钮,将弹出如下图所示的选择登录状态的列表对话框, 单击代表登录状态的列表项,该对话框消失,并在屏幕的左上角显示代表登录状态的通知(如图) 过一段时间后