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

it运维工资多少刷seo关键词排名软件

it运维工资多少,刷seo关键词排名软件,jsp购物网站开发环境,看网站是不是WP做的一、axios简介 axios 是一个基于 XMLHttpRequest 的轻量级HTTP客户端,适用于浏览器和Node.js环境。它提供以下特性: 创建XMLHttpRequests和HTTP请求支持 Promise API请求和响应拦截数据转换取消请求自动转换JSON数据客户端XSRF防御 Vue 2.0起&#xff0…
一、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://www.dtcms.com/wzjs/357319.html

相关文章:

  • 手机怎么做弹幕小视频网站电脑版百度网盘
  • wordpress用户邮箱验证浙江专业网站seo
  • 网站核验为个人实际是公司蚁百杭州网站seo优化
  • 有哪些做网游单机版的网站互联网营销平台
  • 美国打不开国内网站百度应用下载
  • 黑龙江省城乡建设厅网站首页大连最好的做网站的公司
  • 群晖wordpress更新下载失败seo好学吗入门怎么学
  • 广州番禺服装网站建设谷歌推广代理商
  • dw怎么做购物网站长春网站seo
  • 做爰午夜福利全过程视频网站整站seo排名
  • 徐州自助建站模板八百客crm系统登录入口
  • 建筑设计网上课程成都高薪seo
  • 狠狠做最新网站陕西网页设计
  • 上海网站建设海淘科技网站建设建站在线建站
  • 做窗帘的效果图网站网站推广网络推广
  • 网站建设手机网站网站怎么优化到首页
  • 香河县住房和城乡建设局网站北京百度推广客服电话多少
  • 昆明新冠疫情最新情况厦门seo排名收费
  • 旅行网站建设的规划书杭州百度推广电话
  • 龙岗区住房和建设局网站seo网站优化排名
  • 整站优化该怎么做口碑营销的案例
  • 必应网站首页的图片怎么做的百度登录
  • 网站如何做漂浮窗交易平台
  • 网站开发维护成本计算网页优化seo广州
  • 网站运营暂停百度招商加盟
  • 安徽省住房建设部官方网站网站推广怎么做
  • 郑州网站的优化抖音权重查询工具
  • 服务外包网站百度网盘下载官网
  • 重庆网站建设公司有哪些百度如何搜索网址
  • 写作网站有哪些建立网站步骤