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

易云巢做网站公司o2o网站建设好么

易云巢做网站公司,o2o网站建设好么,cms 官方网站,wordpress流量统计基于 xhr 实现 axios 上面我们讲到二次封装 axios ,但是现在我们尝试完全脱离 axios,自己实现一个 axios,由于 axios 底层是基于 xhr 做了二次封装,所以我们也可以尝试一下。 xhr 二次封装 src/plugins/xhr.js /*** 请求拦截器…

基于 xhr 实现 axios

上面我们讲到二次封装 axios ,但是现在我们尝试完全脱离 axios,自己实现一个 axios,由于 axios 底层是基于 xhr 做了二次封装,所以我们也可以尝试一下。

xhr 二次封装

src/plugins/xhr.js

/*** 请求拦截器队列* 响应拦截器队列*/
const request = []
const response = []/*** xhr 封装*/
function axios(config) {return new Promise((resolve) => {request.forEach((fn) => (config = fn(config)))const { method, url, data, headers } = config/*** 新建请求*/const xhr = new XMLHttpRequest()xhr.open(method, url)/*** 设置请求头*/for (const key in headers) {xhr.setRequestHeader(key, headers[key])}/*** 发送请求*/xhr.send(data)/*** 监听返回值*/xhr.onreadystatechange = () => {if (!(xhr.readyState === 4 && xhr.status === 200)) returnlet data = JSON.parse(xhr.responseText)response.forEach((fn) => (data = fn(data)))resolve(data)}})
}/*** 拦截器定义*/
axios.interceptors = {request: {use: (fn) => {request.push(fn)}},response: {use: (fn) => {response.push(fn)}}
}export default axios

axios 二次封装

src/plugins/axios.js

import axios from './xhr'
import qs from 'qs'/*** 请求拦截器*/
axios.interceptors.request.use((config) => {config.data = qs.stringify(config.data)return config
})/*** 响应拦截器*/
axios.interceptors.response.use((response) => {if (response.code !== 200) {alert('接口响应失败')}return response
})/*** 接口请求方法*/
const request = (method, option) => {return axios({method: method,url: 'https://study.noxussj.top' + option.url,data: option.data,headers: {'Content-Type': 'application/x-www-form-urlencoded'}})
}export default {get: (option) => request('get', option),post: (option) => request('post', option),put: (option) => request('put', option)
}

调用

import axios from './plugins/axios.js'/*** 发起请求*/
const p1 = axios.post({url: '/api/login',data: { account: 'test', password: '123456' }
})p1.then((res) => {console.log(res.data)
})

在这里插入图片描述

修改后预览效果,依然是可以正常请求接口。

在这里插入图片描述

原文链接:菜园前端

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

相关文章:

  • 网站怎么做快照三类人不适合学编程plc
  • 福建住房与城乡建设部网站洋气的广告公司名字
  • 上海徐汇龙华公司鞋子深圳百度seo优化
  • 做网站的公司找客户好的网站建设案例
  • 网站ui设计师招聘网站推广的方法及特点
  • 邹平县建设局官方网站wordpress雄欲
  • 网站开发步奏做一般的公司网站需要多少钱
  • 深度网营销型网站建设对单位网站的要求吗
  • 虚拟主机可建站1个是不是只能放一个网站无锡专业网站推广
  • 企业网站优化服务主要围绕哪些要素?为什么?运城网站建设
  • 诚聘高新网站开发工程师作网站公司
  • 手机网站建设 jz.woonl东莞营销网站建设
  • 化妆品网站建设原因环保网站建设的主题
  • wordpress 前端构建鹤壁搜索引擎优化
  • 建个人网站怎么赚钱网站开发实施步骤和说明
  • 在dw里如何做网站python做网站点登入没反映
  • 打开一张图片后点击跳转到网站怎么做设计公司装修哪家好
  • 在哪个网站可以找到做国珍的人网站备案万网
  • 网站开发济南招聘怎么做自助购物网站
  • 自己如何制作一个网站烟台网站建设首推企汇互联见效付款
  • 怎么找网站的后台地址不拦截网页的浏览器
  • 做一个网站加优化排名得多少钱电子商务平台的法律责任
  • 深圳制作网站怎么样网站后台 竖着 导航菜单
  • 网站建设电销职责公司静态网站模板
  • 建设派网站apache安装WordPress
  • 网站自助建设推广建设海外网站
  • 手机网站建设步骤seo入门教程网盘
  • 网站详情页wordpress设置中文失败
  • 安全的网站建设公司WordPress主题ao破解版
  • 网站上的幻灯片如何做wordpress载入慢