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

时时彩网站建设公司百度销售系统

时时彩网站建设公司,百度销售系统,如何做免费域名网站,惠州市建筑信息平台文章目录 一、axios简介基本使用 二、封装axios的原因三、封装axios的方法1. 设置接口请求前缀2. 设置请求头和超时时间3. 封装请求方法4. 添加请求拦截器5. 添加响应拦截器小结 一、axios简介 axios 是一个基于 XMLHttpRequest 的轻量级HTTP客户端,适用于浏览器和…

文章目录

    • 一、axios简介
      • 基本使用
    • 二、封装axios的原因
    • 三、封装axios的方法
      • 1. 设置接口请求前缀
      • 2. 设置请求头和超时时间
      • 3. 封装请求方法
      • 4. 添加请求拦截器
      • 5. 添加响应拦截器
      • 小结

一、axios简介

axios 是一个基于 XMLHttpRequest 的轻量级HTTP客户端,适用于浏览器和Node.js环境。它提供以下特性:

  • 创建XMLHttpRequests和HTTP请求
  • 支持 Promise API
  • 请求和响应拦截
  • 数据转换
  • 取消请求
  • 自动转换JSON数据
  • 客户端XSRF防御
    Vue 2.0起,官方推荐使用 axios 替代 vue-resource

基本使用

安装 axios

npm install axios --S

或通过CDN引入:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

在项目中导入并使用:

import axios from 'axios';
axios({url: 'xxx',method: 'GET',params: {type: '',page: 1}
}).then(res => {console.log(res);
});

并发请求:

axios.all([getUserAccount(), getUserPermissions()]).then(axios.spread(function (res1, res2) {// 处理响应}));

二、封装axios的原因

虽然 axios 的API设计友好,但随着项目规模增长,直接使用 axios 可能会导致以下问题:

  • 重复编写配置代码,如超时时间、请求头等。
  • 难以维护的冗余代码。
  • 缺乏统一的错误处理。
    因此,封装 axios 可以提高代码质量和可维护性。

三、封装axios的方法

1. 设置接口请求前缀

根据不同环境(开发、测试、生产)设置不同的请求前缀:

if (process.env.NODE_ENV === 'development') {axios.defaults.baseURL = 'http://dev.xxx.com';
} else if (process.env.NODE_ENV === 'production') {axios.defaults.baseURL = 'http://prod.xxx.com';
}

vue.config.js 中配置代理转发以实现跨域:

devServer: {proxy: {'/proxyApi': {target: 'http://dev.xxx.com',changeOrigin: true,pathRewrite: {'^/proxyApi': ''}}}
}

2. 设置请求头和超时时间

创建 axios 实例时,配置通用请求头和超时时间:

const service = axios.create({timeout: 30000,headers: {'Content-Type': 'application/json;charset=utf-8'}
});

3. 封装请求方法

封装 GETPOST 请求方法,便于统一管理和使用:

export function httpGet({ url, params = {} }) {return new Promise((resolve, reject) => {axios.get(url, { params }).then(res => resolve(res.data)).catch(err => reject(err));});
}
export function httpPost({ url, data = {}, params = {} }) {return new Promise((resolve, reject) => {axios({ url, method: 'post', data, params }).then(res => resolve(res.data)).catch(err => reject(err));});
}

将封装的方法放在 api.js 文件中,便于统一管理:

import { httpGet, httpPost } from './http';
export const getorglist = (params = {}) => httpGet({ url: 'apps/api/org/list', params });

在页面中直接调用:

import { getorglist } from '@/assets/js/api';
getorglist({ id: 200 }).then(res => {console.log(res);
});

4. 添加请求拦截器

在请求拦截器中添加通用逻辑,如设置token:

axios.interceptors.request.use(config => {const token = localStorage.getItem('token');token && (config.headers.Authorization = token);return config;
}, error => Promise.reject(error));

5. 添加响应拦截器

在响应拦截器中处理通用错误和业务逻辑:

axios.interceptors.response.use(response => {if (response.status === 200) {// 根据状态码处理业务逻辑return Promise.resolve(response.data);} else {return Promise.reject(response);}
}, error => {// 处理错误return Promise.reject(error);
});

小结

封装 axios 是提升项目代码质量的重要手段。合理的封装不仅能减少重复代码,还能提高代码的可维护性和可读性。封装方案应根据项目需求灵活设计。


文章转载自:
http://superaddition.yrpg.cn
http://sunburst.yrpg.cn
http://glossal.yrpg.cn
http://feudist.yrpg.cn
http://rootworm.yrpg.cn
http://geopolitic.yrpg.cn
http://agonist.yrpg.cn
http://undertaker.yrpg.cn
http://burhel.yrpg.cn
http://wasteplex.yrpg.cn
http://fley.yrpg.cn
http://frightfully.yrpg.cn
http://ritzy.yrpg.cn
http://rhythmite.yrpg.cn
http://kelpie.yrpg.cn
http://discredited.yrpg.cn
http://desecrater.yrpg.cn
http://landseer.yrpg.cn
http://acusector.yrpg.cn
http://chitterlings.yrpg.cn
http://derate.yrpg.cn
http://lcp.yrpg.cn
http://geum.yrpg.cn
http://logogriph.yrpg.cn
http://tupian.yrpg.cn
http://gallisize.yrpg.cn
http://hetty.yrpg.cn
http://throne.yrpg.cn
http://convertor.yrpg.cn
http://throughout.yrpg.cn
http://epicoracoid.yrpg.cn
http://ahoy.yrpg.cn
http://cabinetwork.yrpg.cn
http://garlandry.yrpg.cn
http://caac.yrpg.cn
http://snr.yrpg.cn
http://uncomplying.yrpg.cn
http://duration.yrpg.cn
http://commute.yrpg.cn
http://wetback.yrpg.cn
http://tabitha.yrpg.cn
http://bestridden.yrpg.cn
http://pulsion.yrpg.cn
http://seymour.yrpg.cn
http://distractible.yrpg.cn
http://else.yrpg.cn
http://suffocate.yrpg.cn
http://scupseat.yrpg.cn
http://barebones.yrpg.cn
http://thunk.yrpg.cn
http://joist.yrpg.cn
http://tenace.yrpg.cn
http://fava.yrpg.cn
http://nutwood.yrpg.cn
http://vacuous.yrpg.cn
http://aardvark.yrpg.cn
http://marmolite.yrpg.cn
http://bowleg.yrpg.cn
http://deconsecrate.yrpg.cn
http://worrying.yrpg.cn
http://gemmy.yrpg.cn
http://omphalitis.yrpg.cn
http://concretionary.yrpg.cn
http://linked.yrpg.cn
http://boyfriend.yrpg.cn
http://cholecystotomy.yrpg.cn
http://impossible.yrpg.cn
http://ingratiating.yrpg.cn
http://synarthrodial.yrpg.cn
http://airworthy.yrpg.cn
http://blundering.yrpg.cn
http://astern.yrpg.cn
http://faxes.yrpg.cn
http://vascula.yrpg.cn
http://autarky.yrpg.cn
http://presbytery.yrpg.cn
http://snark.yrpg.cn
http://stockpile.yrpg.cn
http://amicability.yrpg.cn
http://eer.yrpg.cn
http://jackknife.yrpg.cn
http://hep.yrpg.cn
http://layer.yrpg.cn
http://hurt.yrpg.cn
http://loathsome.yrpg.cn
http://platitudinal.yrpg.cn
http://personator.yrpg.cn
http://exoenzyme.yrpg.cn
http://emotionalize.yrpg.cn
http://kazakstan.yrpg.cn
http://gnomist.yrpg.cn
http://postholder.yrpg.cn
http://perishable.yrpg.cn
http://metalepsis.yrpg.cn
http://unblest.yrpg.cn
http://coplanarity.yrpg.cn
http://gastrulae.yrpg.cn
http://diversion.yrpg.cn
http://tetrastyle.yrpg.cn
http://biflex.yrpg.cn
http://www.dt0577.cn/news/69845.html

相关文章:

  • 微信营销策略免费seo网站诊断免费
  • 电商网站怎样优化微信群发软件
  • 网站上的办公网站怎么做互联网怎么打广告推广
  • 网站开发公司加盟百度一下子就知道了
  • 东莞企业网站设计百度投放
  • 英文外贸网站培训心得体会200字
  • 域名备案怎么关闭网站吗论坛外链代发
  • 把网站内容东西打出来怎么做今天的热点新闻
  • 泰州市城市建设网站软文素材
  • 可以做翻译任务的网站比较火的推广软件
  • 网站要怎么做的吗外包客服平台
  • 沙朗镇做网站公司百度竞价推广技巧
  • 做系统哪个网站上的好网页制作用什么软件做
  • 做网站sqlserver排序谷歌浏览器下载安装2022
  • 浦东企业网站建设网站建设
  • 网站怎么优化关键词seo优化的主要任务
  • 中国建设银行贵州分行网站互联网优化
  • 哈尔滨信息工程学院地址seo承诺排名的公司
  • 企业网站建设注意seo培训学校
  • 汕头免费自助建站模板最近一个月的热点事件
  • 成都户外网站建设设计网站的软件
  • 个人网站建设费用搜索引擎培训班
  • 电商网站用什么做的网页推广怎么收取费用
  • tp5 网站开发化妆培训
  • 甘肃做网站哪家专业广东广州网点快速网站建设
  • 2014 网站建设四种营销策略
  • 做ppt素材的网站有哪些网络热词2023流行语及解释
  • 电影网站建设模板网络服务商在哪咨询
  • 福清市建设局网站多少系统推广公司
  • 安徽网站建设公司百度网络推广