问题描述
我有一个 Flutter 应用程序,我正在使用 back4app.com 和 Parse RESTful api 来注册我的用户,我已经阅读了他们关于登录用户的文档,但我不知道如何在 URL 参数中将我的用户名和密码作为 JSON 传递编码:
我试过这个方法:
Future <void>loginMethod(String username,String password) async {
var url = Uri.parse('https://myshoppingapp.b4a.io/login/$username:$password');
final response = await http.get(url,headers: {
'X-Parse-Application-Id': kParseApplicationId,'X-Parse-REST-API-Key': kParseRestApiKey,'Content-Type': 'application/json'
},);
final exData = jsonDecode(response.body);
print(exData);
解决方法
请记住一件事,不要在如下所示的 URL 参数中发送您的个人数据
var url = Uri.parse('https://myshoppingapp.b4a.io/login/$username:$password');
您的函数可能会喜欢这个。
Future loginMethod(String username,String password) async {
var res = await http.post(Uri.parse('https://myshoppingapp.b4a.io/login/'),body: {"username": username,"password": password});
print('res : ${res.body}');
if (res.statusCode == 200){ final exData = jsonDecode(res.body);
print(exData);
return res.body;
} else{
final exData = jsonDecode(res.body);
print(exData);
return res.statusCode;
}
}
当数据在数据库中可用时,状态码将是 200,那么当状态码不是 200 时,您应该得到响应,表示服务器出现问题,然后得到服务器状态码。