我这里dio的配置如下:(不知道有没有写错,有错的话,请指出,初学者求教,谢谢^_^)
import 'dart:io';
import 'package:dio/dio.dart';
class BaseUrl {
// 配置默认请求地址
// static String url = 'http://xxxxxxxxx/'; // 测试环境
}
BaseOptions options = new BaseOptions(
baseUrl: BaseUrl.url,
connectTimeout: 5000,
receiveTimeout: 3000,
headers: {HttpHeaders.acceptHeader: "accept: application/json"},
);
Dio dio = new Dio(options);
登录的表单逻辑省略,直接上接口请求的逻辑如下:
print('用户名:' + _unameController.text + ',密码:' + _pwdController.text);
String url = "/xxxxx/login.json"; //接口
Response response = await dio.post(url, data: {
"loginid": _unameController.text,
"password": _pwdController.text
});
print(response);
以上写法的时候接口总是返回密码不能为空,如图:
看print的密码明明是表单里输入的值,可是接口返回的是密码不能为空,明显不对;
然后修改写法:
print('用户名:' + _unameController.text + ',密码:' + _pwdController.text);
String url = "/xxxxx/login.json?loginid=${_unameController.text}&password=${_pwdController.text}";
Response response = await dio.post(url);
print(response);
这回,接口返回的提示正确了,因为是随便输入的账号密码,接口肯定是提示用户不存在,这就是对的返回,如图:
我现在的疑问是,上面的两种写法有什么不同?明明按照dio flutter 中文文档 的例子,上面第一种的写法也是对的吧,可是为什么参数传不过去呢?
另外,作为flutter的初学者,dart语言也不太会用,对于这个返回response
我该如何处理?怎么写才能让返回的message能显示在页面上提示用户?
对于response的处理,我自己搞出来了,初学者,真不容易:
关于问题中两种post请求写法的疑问,请大神解答下啊,谢谢^_^