flutter 封装http请求,dio中文乱码,dio包request是post无法传参,

在使用Dio进行Flutter HTTP请求时遇到了中文乱码问题,尝试了导入gbkutf8等解决方案无效。问题在于post请求中,将参数放在queryParameters导致乱码。解决方法是明确设置contentType为application/x-www-form-urlencoded,使参数以表单形式序列化,同时能正常传递给后台,从而解决了中文乱码和POST传参问题。
摘要由CSDN通过智能技术生成

dio传参时乱码,找了好久都没找到问题,按照网上的方法导入了gbkutf8什么的都没用。后来发现是我在post的时候把参数放在queryParameters传给后台,才会在数据存乱码。一开始之所以会在post的时候,把参数放在request的queryParameters里是因为一开始没有指定contentType,contentType默认是json的,将参数传给data的时候无法将参数传给后台
在这里插入图片描述
后来找了dio官方地址,发现contentType默认是application/json,将contenType改用application/x-www-form-urlencoded就能将参数按表单序列化,post就能传参,中文问题也解决了。
封装的http请求:

import 'dart:collection';

import 'package:binhu_doctor_flutter/config/config.dart';
import 'package:binhu_doctor_flutter/http/http_error.dart';
import 'package:binhu_doctor_flutter/utils/log_util.dart';
import 'package:binhu_doctor_flutter/utils/utils.dart';
import 'package:connectivity/connectivity.dart';
import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值