首页 > 其他分享 >Axios + Mockjs

Axios + Mockjs

时间:2022-12-26 11:58:35浏览次数:53  
标签:Axios name get Mock Mockjs post mock

Mock 可以用来模拟服务端响应请求,让前端人员自己测试接口

直接上案例:

Axios

// request.js
import Axios from 'axios'
// 先创建一个 axios 实例,无需配置 baseURL,只是模拟后端
const http = Axios.create({
    // baseURL: "XXX"
})
export default http

Mock

可以看到,简单实用Mock其实不复杂,Mock.mock 方法即可模拟请求

Mock 还提供了多种模拟数据,详见Mock.js (mockjs.com)

// 引入mock
import Mock from 'mockjs'

// 生成数据
let arr = (() => {
    let newlist = []
    for (let i = 0; i < 5; i++) {
        newlist.push({
            // 生成的数据( Mock 模拟数据 )
            name: Mock.Random.cname(),
            age: Mock.Random.integer(0, 100)
        })
    }
    return newlist
})()

// 定义函数-处理新增数据
const handleAddName = (opt) => {
  // post传递过来的参数
  // console.log(opt.body) //json字符串 需要转成对象
  let { name, age } = JSON.parse(opt.body)

  arr.push({
    name: name,
    age: age
})
  return arr
}

// 定义接口
// mock方法--三个参数
// 1. 拦截请求地址
// 2. 请求方式
// 3. 返回数据
// 查询接口--get
Mock.mock('/mock/news','get',arr)
// 新增接口--post
Mock.mock('/mock/addNews','post',handleAddName)

Vue

// main.js
...
import "./untils/mock.js"
...
<template>
    <div>
        <button @click="getData">get</button><br>
        <input type="text" v-model="postName">
        <input type="text" v-model.number="postAge"><br>
        <button @click="postData">post</button>
    </div>
</template>
<script>
// 引入 Axios 实例
import http from '../untils/request.js' export default { name: "Test", data(){ return { postName:"", postAge:"" } }, methods:{ getData(){
       // get 请求 http.get("/mock/news").then((res) => { console.log(res.data); }) }, postData(){
       // post 请求 http.post("/mock/addNews",{ name: this.postName, age: this.postAge }).then((res) => { console.log(res.data); }) } }, } </script>

页面

标签:Axios,name,get,Mock,Mockjs,post,mock
From: https://www.cnblogs.com/xt112233/p/17005383.html

相关文章

  • Axios
    参考官方文档:Axios中文文档Axios和Fetch 类似,都是基于Promise,用来发送网络求请求的不同的是,Axios是基于Ajax封装的,而Fetch是ES6中的原生API(这也是Fetch目前......
  • axios 下载文件流或者预览在线pdf
    问题:后端返回文件流,前端使用axios下载或者在线预览下载文件流importaxiosfrom'axios'//设置响应类型为blobaxios.get('/api/app/xxx/downloadExcel',{response......
  • axios
    一、(1)、Axios是专注于网络数据请求的库;(2)、相比于原生的XMLHttpRequest对象,axios简单易用;(3)、相比于jQuery,axios更加轻量化,只专注于网络数据的请求;二、(1): (2): (3): ......
  • axios---根据文件路径转换成Blob类型进行下载
    在做下载功能过程中,常常遇到接口跨域的行为,因为权限不能够直接访问而无法实现下载的情况下,可以将文件路径转成文件流下载下来。下载方法//下载getDownLoadFil......
  • Axios异步通信
    四.Axios异步通信1什么是Axios?Axios是一个类库,基于Promise管理的HTTP库,是前端通信框架,可以用在浏览器和node.js中。axios实现了对ajax的封装,常用于Ajax请求。注解......
  • Ajax和Axios
     Ajax:      案例:(w3school有教程)前端代码:1//1.创建核心对象2varxhttp;3if(window.XMLHttpRequest){4xhttp=n......
  • 使用mockjs模拟数据
    相关介绍在常见的前后端开发模式中,经常因为一些接口的问题导致工程效率低。作为前端开发者我们有时候可以使用mockjs来模拟后端的接口,只需要做到模拟就行,主要是用来检测我......
  • VUE使用axios数据请求时报错 TypeError Cannot set property 'xxxx' of undefined 的
    正常情况下在data里面都有做了定义data(){list:"haha"}在函数里面进行赋值this.list=response.data.result这时候你运行时会发现,数据可以请求到,但是会报错TypeErr......
  • 第一节:项目结构介绍、Vuex的应用、axios封装思路、菜单权限、按钮权限剖析
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblog......
  • vite+ts+vue3+router4+Pinia+ElmPlus+axios+mock项目基本配置
    1.vite+TS+Vue3npmcreateviteProjectname:...yourProjectNameSelectaframework:>>VueSelectavariant:>>Typescrit2.修改vite基本配置配置Vite{#configu......