这是我的下面的代码,我被卡住了,请帮助。
void getProducts() async {
String htoken = Utils.prefs.getString("token");
print(htoken);
try {
var dio = Dio(BaseOptions(headers: {"appusertoken": "$htoken"}));
//dio.options.headers["appusertoken"] = "$htoken";
Response response = await dio.post(
'APIURL',
);
print("data coming");
print(response.data);
} on DioError catch (e) {
print(e.response.data);
print(e.response.headers);
print(e.response.request);
}
}
它抛出了数据为空的错误。
最佳答案
我能够解决问题。
为options
方法添加可选参数dio.post
,并使用Options
类定义 header :
void getProducts() async {
String htoken = Utils.prefs.getString("token");
try {
Dio dio = Dio();
Response response = await dio.post("http://URL",
data: {},
options: Options(
headers: {"appusertoken": "$htoken"},
));
print("data coming");
print(response);
} on DioError catch (e) {
print(e.response.data);
print(e.response.headers);
print(e.response.request);
}
}
关于flutter - 如何使用flutter和Dio为POST设置 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57930077/