dio设置自定义post请求_使用Dio封装ajax的post和get操作
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操作相关推荐
- dio设置自定义post请求_基于dio库封装flutter项目的标准网络框架
网络框架是每个应用的基石,封装一个好的网络框架不仅是项目的一个好的开始,并且直接影响到随后项目的稳定性和可扩展性.在移动开发的各个端都有非常赞的网络请求基础框架,比如Android的okhttp库.s ...
- dio设置自定义post请求_强大的dio封装,可能满足你的一切需要
dio是一个强大的Dart Http请求库,支持Restful API.FormData.拦截器.请求取消.Cookie管理.文件上传/下载.超时.自定义适配器等.. 基本使用 添加依赖 depend ...
- dio设置自定义post请求_flutter中dio的post请求方式使用总结
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 1 引言 dio用来在flutter跨平台开发中访问网络的框架,在使用的时候,我们首先是引入依赖 depen ...
- dio设置自定义post请求_Flutter 使用dio来发起网络请求以及Cookie管理
说点儿闲话 Flutter官方建议您使用 dio 来发起网络请求,在学习过程中,也尝试过用dart io中的HttpClient发起的请求,这里主要讲一下dio的使用以及CookieJar.Cooki ...
- dio设置自定义post请求_Flutter中的http网络请求
前言 由于刚过完年工作比较紧张,文章已经四周没有更新了,非常抱歉!接下来依然会尽量保持每周更新! 本篇介绍Flutter中网络请求相关api的使用,Flutter在Flutter engine中提供了 ...
- dio设置自定义post请求_Flutter Dio简单二次封装和自定义Header
话不多说自己看代码封装的比较简单,比较适合入门学习Dio. import 'package:dio/dio.dart'; import 'Api.dart'; /* * 封装 restful 请求 * ...
- dio设置自定义post请求_flutter Dio封装get/post请求
最近刚学flutter,参考简书大佬们的文章,使用dio简单封装了一下网络请求工具类. 依赖版本 9683BF5F-1627-47F1-AE3A-ECBC55ED49CF.png 网络请求单例 A2F ...
- ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP
AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...
- vue中封装ajax请求方法,Vue如何封装ajax
Vue如何封装ajax 发布时间:2020-12-07 11:09:07 来源:亿速云 阅读:123 作者:小新 这篇文章主要介绍Vue如何封装ajax,文中介绍的非常详细,具有一定的参考价值,感兴趣 ...
最新文章
- Winform程序怎么降低占用的内存?
- 还在写大量 if 来判断?试试用一个规则执行器来替代它
- 【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System
- DL-1 用一元二次方程 y=x^2+b 构建神经网络
- 汇编语言中,DS与BX有何区别?怎么搭配使用?(BX是通用寄存器)
- Cisco Packet Tracer7.0的安装汉化与使用
- 【数据结构与算法】之深入解析“穿过迷宫的最少移动次数”的求解思路与算法示例
- SNOI2017 礼物
- 设置Easyui datagrid的pageNumber导致两次请求的解决方案
- 每周收获(11-13)
- 擅长C(DAY 70)
- 蓝桥杯代码测评使用指南
- FFMPEG:MP4封装格式中外挂字幕的提取
- 【ESP8266+STM32】获取B站粉丝数,并在STM32屏上显示出来(物联网小项目)
- 如何判断一个单链表是否有环?
- 两轮自平衡机器人(一)---Simscape物理建模
- Go语言爱好者周刊:第 14 期
- 闲谈IPv6-一起玩转IPv6地址自动配置
- 曾经写过得太监小说4《无名》
- 细谈网络同步在游戏历史中的发展变化(中)