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

dio的依赖:dependencies:

dio: 3.0.8

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

dio使用代码示例://ajax post

static Future post(String url, Map body, {headers = const {}, timeout = 15}) {

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

BaseOptions options = new BaseOptions(sendTimeout: 5000, receiveTimeout: timeout * 1000, headers: headers);

Dio dio = Dio(options);

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

if (res.statusCode == 200) { //http status code

return res.data;

} else {

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

}

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

//处理异常

if (error is TimeoutException) {

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

} else if (error is DioError) {

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

} else {

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

}

}));

}

//ajax get

static Future get(String url, {headers = const {}, timeout = 15}) {

BaseOptions options = new BaseOptions(sendTimeout: 5000, receiveTimeout: timeout * 1000, headers: headers);

Dio dio = Dio(options);

return dio.get(url).then((res) {

if (res.statusCode == 200) {

return res.data;

} else {

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

}

}).catchError((error) {

if (error is TimeoutException) {

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

} else if (error is DioError) {

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

}

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

});

}

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

  1. dio设置自定义post请求_基于dio库封装flutter项目的标准网络框架

    网络框架是每个应用的基石,封装一个好的网络框架不仅是项目的一个好的开始,并且直接影响到随后项目的稳定性和可扩展性.在移动开发的各个端都有非常赞的网络请求基础框架,比如Android的okhttp库.s ...

  2. dio设置自定义post请求_强大的dio封装,可能满足你的一切需要

    dio是一个强大的Dart Http请求库,支持Restful API.FormData.拦截器.请求取消.Cookie管理.文件上传/下载.超时.自定义适配器等.. 基本使用 添加依赖 depend ...

  3. dio设置自定义post请求_flutter中dio的post请求方式使用总结

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 1 引言 dio用来在flutter跨平台开发中访问网络的框架,在使用的时候,我们首先是引入依赖 depen ...

  4. dio设置自定义post请求_Flutter 使用dio来发起网络请求以及Cookie管理

    说点儿闲话 Flutter官方建议您使用 dio 来发起网络请求,在学习过程中,也尝试过用dart io中的HttpClient发起的请求,这里主要讲一下dio的使用以及CookieJar.Cooki ...

  5. dio设置自定义post请求_Flutter中的http网络请求

    前言 由于刚过完年工作比较紧张,文章已经四周没有更新了,非常抱歉!接下来依然会尽量保持每周更新! 本篇介绍Flutter中网络请求相关api的使用,Flutter在Flutter engine中提供了 ...

  6. dio设置自定义post请求_Flutter Dio简单二次封装和自定义Header

    话不多说自己看代码封装的比较简单,比较适合入门学习Dio. import 'package:dio/dio.dart'; import 'Api.dart'; /* * 封装 restful 请求 * ...

  7. dio设置自定义post请求_flutter Dio封装get/post请求

    最近刚学flutter,参考简书大佬们的文章,使用dio简单封装了一下网络请求工具类. 依赖版本 9683BF5F-1627-47F1-AE3A-ECBC55ED49CF.png 网络请求单例 A2F ...

  8. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

    AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...

  9. vue中封装ajax请求方法,Vue如何封装ajax

    Vue如何封装ajax 发布时间:2020-12-07 11:09:07 来源:亿速云 阅读:123 作者:小新 这篇文章主要介绍Vue如何封装ajax,文中介绍的非常详细,具有一定的参考价值,感兴趣 ...

最新文章

  1. Winform程序怎么降低占用的内存?
  2. 还在写大量 if 来判断?试试用一个规则执行器来替代它
  3. 【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System
  4. DL-1 用一元二次方程 y=x^2+b 构建神经网络
  5. 汇编语言中,DS与BX有何区别?怎么搭配使用?(BX是通用寄存器)
  6. Cisco Packet Tracer7.0的安装汉化与使用
  7. 【数据结构与算法】之深入解析“穿过迷宫的最少移动次数”的求解思路与算法示例
  8. SNOI2017 礼物
  9. 设置Easyui datagrid的pageNumber导致两次请求的解决方案
  10. 每周收获(11-13)
  11. 擅长C(DAY 70)
  12. 蓝桥杯代码测评使用指南
  13. FFMPEG:MP4封装格式中外挂字幕的提取
  14. 【ESP8266+STM32】获取B站粉丝数,并在STM32屏上显示出来(物联网小项目)
  15. 如何判断一个单链表是否有环?
  16. 两轮自平衡机器人(一)---Simscape物理建模
  17. Go语言爱好者周刊:第 14 期
  18. 闲谈IPv6-一起玩转IPv6地址自动配置
  19. 曾经写过得太监小说4《无名》
  20. 细谈网络同步在游戏历史中的发展变化(中)

热门文章

  1. 1 nrf51822简介
  2. 夜神云手机技术正式发布,App试玩时代开启
  3. 图片管理系统空间 php,自建图片网站 27款开源图片相册管理系统
  4. NB-IoT窄带物联网技术项目开发教程--设备端开发(三)
  5. 小程序微信支付c语言,小程序中使用微信支付
  6. CSS中border的所有样式属性
  7. python记忆口诀-学妹问我: 如何提高编程能力
  8. 大三那年在某宝8块钱买的.NET视频决定了我的职业生涯
  9. HIT软件构造lab2
  10. Glog剖析之DLOG