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

青岛专门做网站的公司有哪些重庆市建设工程造价信息

青岛专门做网站的公司有哪些,重庆市建设工程造价信息,极强防红短链接生成,查询注册公司vue工程化中axios封装 视频演示地址:https://www.bilibili.com/video/BV121egeQEHg/?vd_source0f4eae2845bd3b24b877e4586ffda69a 通常我们封装需要封装request.js基础的发送请求工具类,再根据业务封装service类,service类是具体业务的接口…

vue工程化中axios封装

视频演示地址:https://www.bilibili.com/video/BV121egeQEHg/?vd_source=0f4eae2845bd3b24b877e4586ffda69a
通常我们封装需要封装request.js基础的发送请求工具类,再根据业务封装service类,service类是具体业务的接口封装,在页面上直接调用的是servive类的接口。下面是封装过程

1.axios常用api请求

封装之前,我们先熟悉一下axios原生是怎么发送请求的,原生发送请求的方式是直接写请求地址和参数、处理响应的,但在项目中,如果我们需要把开发环境地址改成生产环境地址,需要修改很多地方的接口,并且每个地方都写这么一大串代码,可读性和复用性非常低,因此需要进行封装。

原生get请求:

//get请求: 
// 参数一:param1  请求地址
//参数二:请求参数配置信息
//params:请求参数,会以url的形式拼接到请求地址后
//headers:请求头
axios.get('/user?ID=12345',{params:{},headers:{}
}).then(function (response) {// 处理成功情况console.log(response.data);}).catch(function (error) {// 处理错误情况console.log(error);}).finally(function () {// 总是会执行});

原生post请求:

//post:请求,三个参数
// 参数一:请求地址
// 参数二:请求参数
// 参数三:配置信息
axios.post('/user', {firstName: 'Fred',lastName: 'Flintstone'}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});

2.封装request.js

下面开始进行封装:

2.1 vue工程的 src下建立utils文件夹,创建request.js文件。

主要将通用的get请求,post请求进行封装,提取出域名网址

封装请求拦截,用于在发送请求前做一些通用处理,比如加token验证等等

封装响应拦截处理,用于处理通用的响应,比如返回不同的状态码时,给予路由跳转等等

代码如下

import axios from "axios";const axiosInstance = axios.create({baseURL: 'https://api.uomg.com', //测试域名,根据实际情况修改timeout: 4000,
})// 全局请求拦截
axiosInstance.interceptors.request.use(function (config) {// console.log('全局请求拦截');return config;}, function (error) {return Promise.reject(error);}
);
// 全局响应拦截
axiosInstance.interceptors.response.use(function (response) {// console.log('全局响应拦截');return response;}, function (error) {return Promise.reject(error);}
);export function get(url, params){return axiosInstance.get(url, {params: params})
}export function post(url, data){return axiosInstance.post(url, data)
}

3.封装serve层

创建src/api/service文件夹,例如对login业务进行封装,可以创建loginService.js,直接在此处写请求接口,只放开数据让具体的页面进行调用

import {post,get} from '../../utils/request'/*** 登录接口* @param {*} params * params.username  xxxxx* params.password  xxxxx*/
export function login(params){return get('/api/icp', {username: params.username,password: params.username,domain: 'qrpay.uomg.com'})
}

在这里插入图片描述

4.页面测试

在vue界面上找一个控件,点击调用刚刚封装的login接口,正确打印信息即可

testAxios(){login({}).then((res)=>{console.log(res)})}
http://www.yayakq.cn/news/327183/

相关文章:

  • 惠州网站建设公司网络品牌传播推广策略
  • 做网站的三年规划北京建设交易工程信息网站
  • 长沙哪里优化网站google play官网
  • 简述网站开发基本流程hm网上商城
  • 做电容的网站网页设计ppt课件
  • 阳泉做网站多少钱wordpress导航站的源码
  • 网站如何做团购快速制作网站
  • 深圳服饰网站建设如何处理公关危机
  • CQ网络科技网站建设做地方的门户网站
  • 网站初期建设宣传o2o商城分销网站开发
  • 江苏嘉文建设发展有限公司网站宁波公司网站建设价格
  • 免费ps软件网站中国国家住房和城乡建设部网站
  • 哪些网站可以做微信推送全球搜
  • 北京个人网站建设多少钱音乐网站开发答辩ppt
  • 网站 界面改版西安旅游攻略必去景点推荐
  • 网站开发答辩知识点wordpress 照片墙插件
  • 忻州网站建设培训网站建设的一些销售技巧
  • 沈阳h5响应式网站建设成都网站建设seo
  • 宁波论坛网站哪个最好吉林百度seo公司
  • 1688网站首页如何做好网络推广
  • 网站怎样多语言设计签名的软件免费
  • 网站模板优势如何做自己的电影网站
  • 网站建设功能要求自己怎么做团购网站
  • 中铁建设门户网登录初始密码点击排名优化
  • 找网站建设需要问什么网站建设哪几家公司好
  • 上海做壁画的网站网络营销策略内容
  • 门户网站系统架构ip域名解析查询
  • 网站是如何设计配置方案的网站统计cnzz
  • 网站为什么百度搜不到福州网站设计软件
  • 网站制作教程及流程暴雪公司