扑扑中的Dio不会完成功能,因此不会更新FutureBuilder

时间:2020-07-27 12:07:20

标签: flutter dio

我不知道我做了什么,然后Dio停下来完成将值发布到服务器的函数。该函数执行查询,但是FutureBuilder永远不会更改状态。...这是代码,是否有人对此提出建议?

Widget dropDownLanguage() {
 return FutureBuilder(
  future: _futureRetorno ,
  builder: (context, snapshot) {
    if (snapshot.hasData) {
   Map valoresUsuario = _userLanguages.asMap();
   print(_userLanguages);
   } else {
   return Center(
     child: CircularProgressIndicator(),
   );
    }
  }
 );
}

Future <List> loadUserSettings() async{
 FormData formData = FormData.fromMap({
   "action" : "user_settings",
   "usuario_id": _usuario_id,
 });
 _userLanguages = await repository.consultaWS(formData);
 print("finalizado");
 return _userLanguages;
}


 @override
  void initState()  {
   _futureRetorno = loadUserSettings();
  }

1 个答案:

答案 0 :(得分:0)

问题在于服务器正在响应标头header('Content-Type: text/plain; charset=UTF-8');,应该为header('Content-type: application/json; charset=UTF-8');

这不是Dio的错,而是PHP ...