如何解决使用 Dio 从 Flutter web 发出 HTTP 请求时,正文和标头消失
我在 flutter mobile 上使用 dio 包作为 http 的替代品已经有一段时间了,它运行良好。然而,当我在 flutter web 上尝试时,它没有按预期工作。
在服务器端查看请求时body完全为空,我添加的header参数也没有了。使用 post 和 get 的问题是一样的。
发送请求的代码如下所示:
final dio = Dio();
dio.interceptors.add(
InterceptorsWrapper(
onRequest: (RequestOptions options,RequestInterceptorHandler handler) {
if (options.path != 'login')
options.headers.addAll({
'authorization': jwt,});
options.baseUrl = 'http://192.168.1.168:8080/';
options.responseType = ResponseType.json;
return handler.next(options);
},onError: (DioError error,ErrorInterceptorHandler handler) {
maybeRefreshToken(error,handler,refreshToken);
},),);
Future login(String email,String password) async {
try {
final response = await dio.post(
'login',data: {
'email': email,'password': password,},);
Tokens tokens = Tokens.fromJson(response.data);
jwt = tokens.token;
refreshJwt = tokens.refreshToken;
} catch (error) {
throw parseError(error);
}
}
我已经尝试使用 http 包发出相同的请求并且有效,所以我很确定问题与 Dio 有关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。