【问题标题】:FLUTTER: ERROR TO SEND HTTP POST REQUEST USING A TEXT FIELD AND RAISED BUTTON颤振:使用文本字段和凸起按钮发送 HTTP POST 请求时出错
【发布时间】:2019-10-25 04:19:16
【问题描述】:

我有一个无法解决的 FLUTTER 问题。

场景: 1. 实现一个二维码阅读器应用。 2.应用程序,读取二维码 3.当您阅读二维码时,您将我重定向到用户的详细信息页面

问题: 我想编辑那个人的数据,这就是为什么放置一个 TexFormField,有效字段,但是当我打电话时 FUTURE 函数通过 post 发送参数,将正文转换为 JSON,以便我的服务器检测到它,按钮不执行任何操作。

这是我的代码

@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。应用读取二维码

 小部件 _infoPerfilUsuario(BuildContext context , index ){

        return Container(
          height: 120.0,
          child: Card(
                child: Padding(
                  padding: const EdgeInsets.all(15.0),
                  child: ListTile(
                    leading: CircleAvatar(backgroundImage: 
                    NetworkImage(widget.usuarios[index].urlFoto), radius:  30.0,),
                    title: Text("Nombre: ${widget.usuarios[index].nombres}"),
                    subtitle: Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                        Text("Apellidos: ${widget.usuarios[index].apellidos}"),
                        Text("Zona: ${widget.usuarios[index].territorio}")
                      ],
                    ),   
                 ),
               )
           ),
        );
      }

  1. 二维码详情

4.我想要详细页面中的其他参数,例如“比索”,但凸起的按钮不编译代码

  1. 我发送我实现的“比索”参数的代码,但没有执行我正在寻找的操作。

    widget _botonesAcciones(BuildContext context , int index ){ 返回行( mainAxisAlignment: MainAxisAlignment.spaceAround, 孩子们: [ RaisedButton(child: Text("SAVE"), 颜色: Colors.green, 按下:(){ 最终形式 = formKey.currentState; 如果(form.validate()){ _sendData(上下文,索引); Navigator.pushNamed(context, QrPageRoute); } } ), ], ); }

如果字段被验证,我实现这个功能,我只想发送数据,我不希望返回响应正文,只需将数据发送到我的数据库

未来 _sendData (BuildContext context , int index ) async { 最终 url = Uri.https(_url,'/searchdata.php'); 等待http.post(网址, 正文: json.encode({ "id" : "${widget.usuarios[index].idUsuarioMobile}", “比索”:比索 }), ); }

有什么问题吗? 我想我的错误是在 sendData() 函数中

【问题讨论】:

    标签: android http flutter dart qr-code


    【解决方案1】:

    你好,解决方法很简单:

    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
            }),
          );
    

    寻找我的问题,我的问题的答案,就像返回一个 void 方法并将数据发送到服务器一样简单。你应该使用,

    body: json.encode
    

    它会让你的生活更轻松。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-03
      • 2021-12-20
      • 2017-05-17
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多