flutter - 使用 Dio 从 Flutter Web 发出 HTTP 请求时,正文和标头消失
问题描述
一段时间以来,我一直在使用dio包作为 Flutter mobile 上的http的替代品,并且它一直运行良好。然而,当我在颤振网络上尝试它时,它并没有按预期工作。
在服务器端查看请求时,正文完全是空的,我添加的标头参数也没有了。使用 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 有关。
解决方案
推荐阅读
- git - 错误地创建了新分支
- c# - Visual Studio 2019 .NET Core 3.1 WinForm 视图超时 (Studio 16.7.3)
- dependency-injection - 在 asp.net core 3.1 中使用 Autofac 的 ServiceLocator
- ruby-on-rails - 如何正确评估页面是否包含某些带有水豚的内容?
- javascript - 移位时如何选择选择键
- cplex - 如何在 CPLEX 中检查 MILP 是否有可行的解决方案
- html - 从父组件到子组件html中的元素的Angular 10 scrollTo
- python - Keras RNN 准确率没有提高
- compilation - Solidity 错误:无法构造包含(嵌套)映射的结构
- firebase - Firebase ML Kit 中文翻译 - 离线模式