首页 > 解决方案 > DioError [DioErrorType.response]:Http 状态错误 [400]

问题描述

我在 dio 数据参数中传递文本框的值(用户名和密码),但它给了我 http 400 错误。

这是我的 Dio 代码

class AuthService{
  Dio dio=new Dio();
var localhost_url="http://192.168.1.102:5000/login";
var heroku_Url="https://attendance-demo.herokuapp.com/login";
 
  login(name,password) async{
    Map<String,dynamic> data={
      'username':name,
      'password':password
    };
await dio
        .post(heroku_Url,data: json.encode(data))
          .then((onResponse){
            print(onResponse.data);
          }).catchError((onerror){
            print(onerror.toString());
        });

  }
}

在这里我在按钮点击时调用 dio 请求

RoundedButton(text:"Login",  press: () {
 AuthService().login(name,password).then((value){
                       if(value.data['success']){
                         token=value.data['token'];
                         Fluttertoast.showToast(msg: 'Authenticated',
                         toastLength: Toast.LENGTH_SHORT,
                        gravity: ToastGravity.BOTTOM,
                        backgroundColor: Colors.red,
                        textColor: Colors.white,
                        fontSize: 16.0);
                    }
                  
                  });   
                       
                    }
                  ),

我对 localhost 使用相同的代码并且它工作得很好,但是当我使用 Atlas-mongodb 和 heroku url 时它会打印 400 错误。

请帮助修复它!

标签: mongodbflutterhttp-status-code-400dio

解决方案


推荐阅读