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

鞍山高新区网站域名申请而完成以后怎么做网站

鞍山高新区网站,域名申请而完成以后怎么做网站,做网站的行情,网站建设华为🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:在vue2中实现axios的二次封装 目录 一、平常axios的请求发送方式 二、axios的一次封装…

1d43f75f092a4050a8ce31e2d85f6868.gif

🥳博       主:初映CY的前说(前端领域)

🌞个人信条:想要变成得到,中间还有做到!

🤘本文核心:在vue2中实现axios的二次封装

目录

一、平常axios的请求发送方式

二、axios的一次封装

三、axios的二次封装

 四、总结


【前言】我们在使用axios发送请求的时候,如果是直接使用axios用来发送我们的请求,这样的话我们需要写url、请求方式methood、如果有请求参数的话我们的axios的代码段会看起来稍微有点多并且的话我们的代码段统一的管理与后期的修改。故此在此基础上我们就需要对我们的axios进行封装来便于我们对我们接口的统一管理同时也使得代码看起来简洁。


一、平常axios的请求发送方式

 我们进页面进行发送请求见下:

 可以看到我们的请求可以成功的将我们的请求发出去并且可以收到响应。这是最基础的发送方式,我们可以看到

①我们的url中有很多重复的部分

②每个页面都这样写请求代码段多

③业务没有抽离开,不便于我们管理我们接口(多组件的时候)

 综上,我们简化一下我们的请求见下↓

二、axios的一次封装

我们会在src/utils创建一个request.js的文件来存放我们的基地址与拦截器

当我们写了基地址我们每次写请求的时候就不需要写那一大段重复的代码

/* 封装axios用于发送请求 */
import axios from 'axios'/*
(1)request 相当于 Axios 的实例对象
(2)为什么要有request,而不是直接用axios* 项目开发中,有可能会有两个基地址* 不同的接口配置不同(有的要token,有的不要token)
*/
const request = axios.create({baseURL: '/home/', // 设置基地址,博主这个请求跨域了因此我设置了代理服务器,因此基地址才这么短timeout: 5000 // 请求超时:当5s没有响应就会结束请求
})// 添加请求拦截器,一下内容是axios的拦截器,可以不用写
request.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config},function (error) {// 对请求错误做些什么return Promise.reject(error)}
)// 添加响应拦截器
request.interceptors.response.use(function (response) {// 对响应数据做点什么return response.data},function (error) {// 对响应错误做点什么return Promise.reject(error)}
)export default request

 可见当我们写下了基地址之后我们就完成我们的第一次封装,引入了基地址与拦截器

三、axios的二次封装

把接口的路径写在了页面里面 : 如果接口很多,万一以后接口路径变了。怎么办呢? 一个一个文件去找是不是太麻烦了?

解决方案 : 把每一个请求接口单独封装

通俗一点来说:我们根据我们的业务来写当前页面需要的接口,这样接口便于管理。比如:我A页面需要三个接口,B页面需要五个接口。我们在一个js文件中写下八个接口吗?可以但是不推荐。

我们可以尝试将A与B两个页面的接口分离出来。

类似于这样的:

 好的,基本概念了解了,我们尝试来抽离下我们的接口

 我们来测试下:

【源代码以及接口文档补充】

下面是我的接口的地址:

 

App.vue

<template>
<div><button @click="doclick">点我发送请求1</button><button @click="doclick2(6)">点我发送请求2</button>
</div>
</template><script>
import { loadCaatagory } from '@/api/B'
import { loadBrand } from '@/api/A'export default {methods: {async doclick () {const res = await loadCaatagory()console.log(res, '请求1')},async doclick2 (num) {const res = await loadBrand(num)console.log(res, '请求2')}}
}
</script><style></style>

 A.js

import request from '@/utils/request'// 获取品牌
export function loadBrand (limit) {return request({// url: 'brand',url: `brand?limit=${limit}`,method: 'GET'})
}

B.js

import request from '@/utils/request'
// 获取商品头部
export function loadCaatagory () {return request({url: 'category/head',method: 'GET'})
}

vue.config

module.exports = {transpileDependencies: true,devServer: {proxy: {'/home': {target: 'http://pcapi-xiaotuxian-front-devtest.itheima.net' // 请求代理地址用来解决跨域}}}
}

 四、总结

我们封装axios是为了将我们的接口根据模块的不同而分离开来,便于我们的管理。

第一次封装:提取公共部分

第二次封装:根据业务模块分离接口

愿你有所收获,本文就此结束!

http://www.yayakq.cn/news/145259/

相关文章:

  • 网站收录怎么删angularjs 做电商网站
  • 网站帮忙备案互联网项目代理
  • 有没有免费的网站做自媒体一般都注册几个网站
  • 台州市建站公司株洲做网站的公司
  • 网站建设如何控标宁波seo行业公司推荐
  • 广州知名网站建设有哪些二维码生成网址链接
  • 宁德企业网站建设南昌做网站费用
  • 东莞市手机网站建设平台不同的网站 做301
  • 建设网站上申请劳务资质推广计划可以按照()等方法进行搭建
  • 淮南网站建设全包室内装修设计软件免费
  • 成都网站制作怎么收费淄博网站定制
  • flash静态网站简述网站建设一般流程
  • 做餐饮连锁在哪个网站看云南建设厅官方网站
  • 潍坊网站建设报价费用西安有什么好玩的地方
  • 武进网站建设价格佛山做网站建设
  • 南京网站建设培训班建了网站但是百度搜索不到
  • 地方门户网站app简单建设网站首页
  • 利用国外免费空间做网站如何用asp做网站的登录界面
  • 宁夏找人做网站多少钱广州番禺房价2022年最新房价
  • 电子商务网站建设有什么认识小程序 wordpress 王皓
  • 网站服务器转移视频吗英文网站建设60
  • 怎么学习网站建设哪个建站系统适合外贸网站建设
  • 舟山高端网站建设做网站外包公司
  • 佛山 做网站公司中国最新领导班子
  • 源码哥网站的模板旅游网站建设主要工作
  • 专注七星彩网站开发端点seo博客
  • 广州网站优化指导晋州有做网站的吗
  • Linux做视频网站网速均衡wordpress 自定义字段 排序
  • 有平面广告设计的网站别人在百度冒用公司旗号做网站
  • 什么网站可以做软件有哪些内容学校网站建设分析