Android 颤振:使用文本字段和凸起按钮发送HTTP POST请求时出错
我有一个无法解决的颤振问题 情景: 1.实现一个QR阅读器应用程序。 2.在应用程序中,读取二维码 3.当您阅读二维码时,您将我重定向到用户的详细信息页面 问题: 我想编辑那个人的数据,这就是为什么要放置一个TexFormField,有效字段,但当我调用 FUTURE函数通过post发送参数,将主体转换为JSON,以便我的服务器检测到它,按钮不做任何操作 这是我的密码Android 颤振:使用文本字段和凸起按钮发送HTTP POST请求时出错,android,http,flutter,dart,qr-code,Android,Http,Flutter,Dart,Qr Code,我有一个无法解决的颤振问题 情景: 1.实现一个QR阅读器应用程序。 2.在应用程序中,读取二维码 3.当您阅读二维码时,您将我重定向到用户的详细信息页面 问题: 我想编辑那个人的数据,这就是为什么要放置一个TexFormField,有效字段,但当我调用 FUTURE函数通过post发送参数,将主体转换为JSON,以便我的服务器检测到它,按钮不做任何操作 这是我的密码 @override Widget build(BuildContext context) { return Scaffol
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Container(
child : Text("Escanea el codigo QR ", style: TextStyle(fontSize: 25.0),)
),
),
floatingActionButton: FloatingActionButton(
onPressed: obtenerValorQR,
child: Icon(Icons.settings_overscan,),
backgroundColor:Color(0xFF56AB2F)
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
);
}
---------------------------逻辑--------------------
Future obtenerValorQR()
async{
_scantemp= await FlutterBarcodeScanner.scanBarcode("#004297", "salir", true);
setState(() {
value=_scantemp;
});
if (value == null) {
Navigator.pushNamed(context, QrPageRoute);
} else {
Navigator.pushNamed(context, HomePageRoute, arguments: value);
}
}
2.App读取二维码
Widget\u InfoPerfilusario(构建上下文,索引){
返回容器(
身高:120.0,
孩子:卡片(
孩子:填充(
填充:常数边集全部(15.0),
孩子:ListTile(
领先:CircleAvatar(背景图像:
NetworkImage(widget.usuarios[index].urlFoto),半径:30.0,),
标题:文本(“Nombre:${widget.usuarios[index.Nombre}”),
副标题:专栏(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本(“Apellidos:${widget.usuarios[index].Apellidos}”),
文本(“Zona:${widget.usuarios[index.territorio}”)
],
),
),
)
),
);
}
QR详细信息
4.我想在DETAILPAGE中添加其他参数,例如“PESO”,但该按钮没有编译代码
代码,其中我发送我实现的“比索”参数,但不执行我要查找的操作
widget\u botonesAcciones(BuildContext上下文,int索引){
返回行(
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
RaisedButton(子项:文本(“保存”),颜色:Colors.green,
已按下:(){
最终形式=formKey.currentState;
if(form.validate()){
_sendData(上下文、索引);
pushNamed(上下文,QrPageRoute);
}
}
),
],
);
}
如果字段经过验证,我就实现这个函数,我只想发送数据,不想返回响应体,只想将数据发送到我的数据库
Future\u sendData(BuildContext上下文,int索引)异步{
final url=Uri.https(_url,'/searchdata.php');
等待http.post(url,
正文:json.encode({
“id”:“${widget.usuarios[index].idUsuarioMobile}”,
“比索”:比索
}),
);
}
出什么事了?
我认为我的错误在于sendData()函数,解决方法很简单:
body: json.encode
我的问题的答案是寻找我econtre,简单到返回一个void方法并将数据发送到服务器。你应该用
这会让你的生活更轻松
void _sendData(BuildContext context , int index ) {
var url = Uri.https( _url,'/updatePuntos.php');
http.post(url,
body: json.encode({
"id" : "${widget.usuarios[index].idUsuarioMobile}",
"peso" : peso
}),
);
body: json.encode