广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue的axios和mock.js你了解吗
  • 857
分享到

vue的axios和mock.js你了解吗

2024-04-02 19:04:59 857人浏览 独家记忆
摘要

目录axiOS.js安装:全局引入 axios封装一个简单的axios包,为axios添加拦截器和判断允许环境(用于判断请求地址)axios.jsmockjs安装mockservic

axios.js

axios是Vue中用于发送ajax(Http)请求的工具

安装:

npm install axios

全局引入 axios

// main.js
import http from 'axios';
Vue.prototype.$http = http;

通过axios发送一个http请求

<script>
// ...
mounted(){
    // 发送请求
    this.$http.get('./user/ID=123').then(function(success){
        //成功请求区间
        console.dir(success)
    }).catch(function(error){
        //失败返回区间
        console.dir(error)
    })
}
// ...
</script>

封装一个简单的axios包,为axios添加拦截器和判断允许环境(用于判断请求地址)axios.js

注意这部分的拦截器与mockjs是两回事!!!

// api/axios.js
import axios from 'axios'
import config from '../config'
const baseUrl =  process.env.node_ENV == 'development' ? config.baseUrl.dev : config.baseUrl.pro
class HttpRequest {
    constructor(baseUrl){
        this.baseUrl = baseUrl
    }
    getInsideConfig(){
        const config = {
            baseUrl:this.baseUrl,
            header:{}
        }
        return config
    }
// 拦截器这部分,官网copy过来的,注意这部分的拦截器与mock拦截器是两回事!!!
    interceptors(instance){
        // 添加请求拦截器
        instance.interceptors.request.use(function (config) {
            // 在发送请求之前做些什么
            // console.dir(config)
            return config;
        }, function (error) {
            // 对请求错误做些什么
            return Promise.reject(error);
        });
        // 添加响应拦截器
        instance.interceptors.response.use(function (response) {
            // 对响应数据做点什么
            return response;
        }, function (error) {
            // 对响应错误做点什么
            console.dir(error,'error')
            return Promise.reject(error);
        });
    }
	// 请求方法
    request(options){
        const instance = axios.create()
        options = {...this.getInsideConfig, ...options}
        this.interceptors(instance)
        return instance(options)
    }
}
export default new HttpRequest(baseUrl)

使用。添加data.js

// data.js
import axios from './axios'
export const getMenu = (param)=>{
    return axios.request({
        url:'/permission/getMenu',
        method:'post',
        data:param
    })
}
export const test = (param)=>{
    return axios.request({
        // 修改域名
        baseUrl:'https://me.kervi.cn',
        url:'/',
        method:'get',
        data:param
    })
}

mockjs

mockjs可以用于拦截ajax请求,在mock的回调函数中可以给请求添加模拟数据,用于模拟后台接口

安装

npm i mockjs

编写mockjs拦截文件mock.js

import Mock from 'mockjs'
import homeApi from './mockservice/home'
// Mock.mock('拦截地址',设置返回数据的回调函数),拦截 home/getData
Mock.mock('/home/getData', homeApi.getStaticData)

mockservice/home.js

// 简单模拟一下方法,如果需要文件,请帮我点个赞,私聊
export default {
     getStatisticalData: () => {
         return {code:200,data:{list:[1,2,3,4,5]}
     }
}

请添加图片描述

引入mock.js

// main.js 中引入
import '../api/mock.js'

发送ajax请求,测试拦截

请添加图片描述

请添加图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: vue的axios和mock.js你了解吗

本文链接: https://www.lsjlt.com/news/138703.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue的axios和mock.js你了解吗
    目录axios.js安装:全局引入 axios封装一个简单的axios包,为axios添加拦截器和判断允许环境(用于判断请求地址)axios.jsmockjs安装mockservic...
    99+
    2022-11-13
  • react中的axios模块你了解吗
    目录一、react中axios模块的使用1、基于Promise的HTTP库用在浏览器和node.js中2、创建XMLHttpRequest对象:3、在react中安装axios4、发...
    99+
    2022-11-13
  • 一文带你了解Vue中的axios和proxy代理
    目录1.引入axios2.配置proxy代理,解决跨域问题3.引入axios,二次封装,添加请求、响应拦截器4.封装接口调用5.vue中调用接口6.地址变化过程1.引入axios n...
    99+
    2023-03-21
    Vue axios proxy代理 Vue axios Vue proxy代理
  • 面试官:你了解axios的原理吗?有看过它的源码吗?
    面试官:你了解axios的原理吗?有看过它的源码吗? 一、axios的基本使用 关于 axios 的基本使用,上篇文章已经有所涉及,这里再稍微回顾一下: 发送请求 import axios from...
    99+
    2023-10-11
    react.js javascript 前端 github typescript 原力计划
  • Vue的虚拟DOM和diff算法你了解吗
    目录什么是虚拟DOM?为什么需要虚拟DOM?总结在vue 中 数据改变 -> 虚拟DOM(计算变更)-> 操作DOM -> 视图更新 虚拟DOM: js执行速度比较...
    99+
    2022-11-13
  • Vue的表单双绑和组件你了解吗
    目录1、什么是双向数据绑定2、在表单中使用双向数据绑定3、什么是组件总结1、什么是双向数据绑定 Vue.js是一个MV VM框架, 即数据双向绑定, 即当数据发生变化的时候, 视图也...
    99+
    2022-11-13
  • Vue的过滤器你真了解吗
    目录1.过滤器1.1对过滤器的理解1.2全局过滤器:1.3局部过滤器:1.4过滤器的案例总结1. 过滤器 案例中使用到时间格式相关API 1.1 对过滤器的理解 定义:对要显示的数据...
    99+
    2022-11-13
  • 一文了解axios和vue的整合操作
    目录前言一、axios是什么?1.定义2.原理3、主要特点二、axios的应用三、axios+vue的应用总结前言 前面学习了vue的本地应用操作,本文将会学习Vue的网络应用,介绍...
    99+
    2022-11-13
  • Vue的基本知识你都了解吗
    目录1. Vue的基本知识1.1 Vue的使用1.2 插值语法1.3 v-bind(单向绑定)1.4 v-model(双向绑定)1.4.1 v-model和v-bind的区别1.4....
    99+
    2022-11-13
  • Vue的computed计算属性你了解吗
    目录computed计算属性1、什么是计算属性2、为什么要用计算属性3、compute、methods和watch三者的区别4、案例:遍历数组对象的时候进行监视总结computed计...
    99+
    2022-11-13
  • vue3的watch和watchEffect你了解吗
    目录watch结论1:结论2结论3watchEffect结论1结论2 watchEffect 监听多个数据源结论3 watchEffect 停止监听总结watch 结论1: watc...
    99+
    2022-11-13
  • vue中scss语法的使用你了解吗
    目录vue之scss语法使用引入scss文件css / test.scsshome.vue scss定义一个变量 scss里面使用算法 ±*/&nb...
    99+
    2022-11-13
  • Vue的diff算法原理你真的了解吗
    目录思维导图0. 从常见问题引入1. 生成虚拟dom1. h方法实现2. render方法实现3. 再次渲染2. diff算法1. 对常见的dom做优化情况1:末尾追加一个元素(头和...
    99+
    2022-11-13
  • Vue全局事件总线你了解吗
    全局事件总线,是组件间的一种通信方式,适用于任何组件间通信。 看下面具体的例子。 父组件:App <template> <div class="app"&g...
    99+
    2022-11-13
  • python的字典和集合你了解吗
    目录字典修改字典删除字典元素字典键的特性字典内置函数&方法集合集合的基本操作集合内置方法完整列表总结字典 d = {key1 : value1, key2 : value2,...
    99+
    2022-11-13
  • C++的继承和派生你了解吗
    目录继承的写法继承实质与权限问题 ​总结继承的写法 //父类 基类 class parent { }; //子类 派生类 //公有继承 class soon1:public pare...
    99+
    2022-11-13
  • Python3的进程和线程你了解吗
    目录1.概述2.多进程3.子进程4.进程间通信5.多线程6.Lock7.ThreadLocal8.进程VS线程9.分布式进程总结1.概述 """ 基础知识: 1.多任务:操作系统可以...
    99+
    2022-11-13
  • TypeScript中的函数和类你了解吗
    目录函数作为参数定义函数函数参数的类型可选类型参数默认值剩余参数this的默认推导函数重载类初始化继承多态成员修饰符总结函数 以下声明了一个函数类型,通过type来定义类型别名,vo...
    99+
    2022-11-13
  • javascript的防抖和节流你了解吗
    一:为什么需要防抖与节流  防抖和节流都是为了解决短时间内大量触发某函数或者事件而导致的性能问题,比如在 1.用户体验上,触发频率过高导致的响应速度跟不上触发频率,出现延迟...
    99+
    2022-11-13
  • vue中非父子组件的通信你了解吗
    目录一、Provide和Inject二、Provide和Inject的另一种写法三、全局事件总线mitt库总结我们总结了父子组件通信方式有:props + emi...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作