我试图连接我的颤动应用程序与数据库,以获得一个登录系统,但我一直有一些问题。
首先,我有两个版本的Flutter,在最新的版本中,代码不能工作,但是在旧的版本中,工作得很完美。
以下是运行正常的代码
class _Login extends State<Login> {
TextEditingController user = TextEditingController();
TextEditingController pass = TextEditingController();
Future login() async {
var url = "https://charlotapp.000webhostapp.com/login.php";
var response = await http.post(url, body: {
"username": user.text,
"password": pass.text,
});
var data = json.decode(response.body);
}下面是我正在尝试运行的代码
class _Login extends State<Login> {
TextEditingController user = TextEditingController();
TextEditingController pass = TextEditingController();
Future login() async {
var response = await http.post(
Uri.http("https://charlotapp.000webhostapp.com/login.php", ""),
body: {
"username": user.text,
"password": pass.text,
});
var data = json.decode(response.body);
}很相似,不是吗?然而,对于第二个错误,我得到了这个错误;
I/ViewRootImpl@50dab36[MainActivity]( 2374): ViewPostIme pointer 0
I/ViewRootImpl@50dab36[MainActivity]( 2374): ViewPostIme pointer 1
E/flutter ( 2374): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: FormatException: Invalid radix-10 number (at character 1)
E/flutter ( 2374): //charlotapp.000webhostapp.com/login.php
E/flutter ( 2374): ^
E/flutter ( 2374):
E/flutter ( 2374): #0 int._throwFormatException (dart:core-patch/integers_patch.dart:131:5)
E/flutter ( 2374): #1 int._parseRadix (dart:core-patch/integers_patch.dart:157:16)有什么想法吗?耽误您时间,实在对不起
发布于 2021-03-24 02:27:00
当你使用Uri.http / https时,你不需要解析完整的url,因为你已经被告知要使用http/https。
class _Login extends State<Login> {
TextEditingController user = TextEditingController();
TextEditingController pass = TextEditingController();
Future login() async {
var response = await http.post(
Uri.https("charlotapp.000webhostapp.com/login.php", ""),
body: {
"username": user.text,
"password": pass.text,
});
var data = json.decode(response.body);
}参考:https://flutter.dev/docs/cookbook/networking/send-data#2-sending-data-to-server
https://stackoverflow.com/questions/66769037
复制相似问题