糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > dio设置自定义post请求_使用Dio封装ajax的post和get操作

dio设置自定义post请求_使用Dio封装ajax的post和get操作

时间:2021-12-04 22:56:47

相关推荐

dio设置自定义post请求_使用Dio封装ajax的post和get操作

dio是经常使用到的一个包,为flutter的日常开发提供了很多支持。本文主要描述如何使用Dio封装ajax请求。

dio的依赖:dependencies:

dio:3.0.8

dio包的导入:import'package:dio/dio.dart';

dio使用代码示例://ajaxpost

staticFuturepost(Stringurl,Mapbody,{headers=const{},timeout=15}){

//设置发送超时、接收超时以及httpheader

BaseOptionsoptions=newBaseOptions(sendTimeout:5000,receiveTimeout:timeout*1000,headers:headers);

Diodio=Dio(options);

returndio.post(url,queryParameters:body).then((res){

if(res.statusCode==200){//httpstatuscode

returnres.data;

}else{

return{"code":1,"msg":"服务不可用"};

}

}).catchError(((error,stack){

//处理异常

if(errorisTimeoutException){

return{"code":1,"msg":"请求超时"};

}elseif(errorisDioError){

return{"code":1,"msg":"网络请求失败,请稍后再试"};

}else{

return{"code":1,"msg":"请求异常"};

}

}));

}

//ajaxget

staticFutureget(Stringurl,{headers=const{},timeout=15}){

BaseOptionsoptions=newBaseOptions(sendTimeout:5000,receiveTimeout:timeout*1000,headers:headers);

Diodio=Dio(options);

returndio.get(url).then((res){

if(res.statusCode==200){

returnres.data;

}else{

return{"code":1,"msg":"服务不可用"};

}

}).catchError((error){

if(errorisTimeoutException){

return{"code":1,"msg":"请求超时"};

}elseif(errorisDioError){

return{"code":1,"msg":"网络请求失败,请稍后再试"};

}

return{"code":1,"msg":"请求异常"};

});

}

如果觉得《dio设置自定义post请求_使用Dio封装ajax的post和get操作》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。