当前位置: 首页 > news >正文

uniapp封装ajax请求

import '@/common/api/interceptor.js'; // 引入拦截器文件
export default{common:{baseUrl:"http://localhost:3000/api",data:{},header:{"Access-Control-Allow-Origin":"*","Content-Type":"application/json","Content-Type":"application/x-www-form-urlencoded"},method:"GET",dataType:"json"},//封装为选项对象request( options={} ){uni.showLoading({title: '加载中'});options.url = this.common.baseUrl + options.url;options.data = 	options.data || this.common.data;options.header = options.header || this.common.header;options.method = options.method || this.common.method;options.dataType = 	options.dataType || this.common.dataType;return new Promise((res,rej)=>{uni.request({...options,success: (result) => {// if(result.statusCode===401)  进行类似过滤器的操作if(result.statusCode != 200){// 使其可以使用catchreturn rej();}setTimeout(function () {uni.hideLoading();}, 1500);let data = result.data;// res里面就是请求体了 可以直接获取自己定义的code 和数据res(data);}})})}
}

这样就把uniapp的回调ajax封装为了resolve,这里还类似封装了axios的拦截器

// utils/interceptors.js// 请求拦截器
uni.addInterceptor('request', {// 在发送请求之前执行invoke(request) {// 在请求发送前可以进行一些操作,例如添加请求头、设置认证信息等request.header = {'Content-Type': 'application/json', // 设置 Content-Type 请求头'Authorization': 'Bearer your-token', // 设置 Authorization 请求头};console.log('------请求拦截器------');return request;},// 请求出错时执行fail(error) {console.error('请求拦截器出错', error);return error;},
});// 响应拦截器
uni.addInterceptor('response', {// 在响应返回之后执行invoke(response) {// 对响应数据进行处理console.log('响应拦截器');response.header={"Access-Control-Allow-Origin":"*"}return response;},// 响应出错时执行fail(error) {console.error('响应拦截器出错', error);return error;},
});
http://www.lryc.cn/news/142384.html

相关文章:

  • 电路原理分析2:应急照明灯电路
  • 构造函数内的方法 直接写在构造函数内部 与 写在prototype上 的区别
  • 系统架构主题之七:基于架构的软件设计方法及应用
  • Python-if __name__ == ‘__main__‘和collections.Mapping的用法
  • Linux 基金会宣布正式进驻中国
  • Pyecharts教程(二):使用pyecharts绘制3D散点图——以营养元素为例
  • 软考高级系统架构设计师系列论文第100篇:论软件的可维护性设计
  • curl 使用发送POST GET请求 HEADER设置
  • 使用 Transformer 和 Amazon OpenSearch Service 构建基于列的语义搜索引擎
  • 算法通关村第九关——透彻理解二分查找
  • 【字节跳动青训营】后端笔记整理-4 | Go框架三件套之GORM的使用
  • 【TI毫米波雷达笔记】UART串口外设配置及驱动(以IWR6843AOP为例)
  • C#---第十九课:不同类型方法的执行顺序(new / virtual / common / override)
  • [pytorch]torch.cuda用法以及判断显卡是不是存在问题
  • JUC——多线程补充
  • 代码随想录第32天|122.买卖股票的最佳时机 II,55. 跳跃游戏 ,45. 跳跃游戏 II
  • Linux:Nginx服务与搭建
  • 4、什么是NoSQL
  • 如何自己实现一个丝滑的流程图绘制工具(一)vue如何使用
  • ReoGrid.NET集成到winfrom
  • Elasticsearch实现增删改查
  • Rust 学习笔记(卷二)
  • android amazon 支付接入
  • Vue2-快速搭建pc端后台管理系统
  • 【产品文档】团队介绍PPT模板
  • 组件库的使用和自定义组件
  • 网站和API支持HTTPS,最好在Nginx上配置
  • UnitTest笔记: 拓展库DDT的使用
  • 裂缝检测,只依赖OPENCV,基于YOLO8S
  • python编程环境使用技巧3-程序打包pyinstaller