使用mock.js模拟网络请求

1.安装mock.js

# 安装
npm install mockjs

2.安装axios

npm install axios

3.在全局文件 main.js中引入axios

import axios from 'axios'
// 配置vue原型,(在任何组件中都可以正常使用 axios )
Vue.prototype.http = axios

4.在src文件夹目录新建文件mock,mock文件夹下又新建文件夹json,json文件夹下新建文件login.json,里面放模拟接口响应回来的数据,如下:

 login.json 文件(模拟响应回来的数据)

{
    "result": "success",
    "data": {
      "Email": "18770471216",
      "password": "123456"
    },
    "msg": ""
  }

 5.再mock文件夹下新建mockServe.js文件

 mockServe.js

import Mock from 'mockjs'
import login from './json/login.json' // 模拟接口返回的数据 对应data后面跟的值

// 第一个参数 模拟的url 第二个参数:数据模版,也就是响应回来的值
Mock.mock('/mock/login', {
  code: 200,
  data: login
})

5.1在main.js中引入该文件

import '@/mock/mockServer'

6.在src下新建utils文件夹,里面新建axios.js文件来封装一个网络请求

import axios from 'axios'

const mockAjax = axios.create({
  baseURL: '/mock',
  timeout: 10000
})

// 请求拦截
mockAjax.interceptors.request.use((config) => {
  return config
})
// 响应拦截
mockAjax.interceptors.response.use((response) => {
  return response.data
}, (error) => {
  return Promise.reject(error)
})

export default mockAjax

7.封装接口API,src目录下新建文件夹api,

 8.在需要使用的页面调接口即可

import { LoginPost } from '@/api/login'
  async  created () {
    const res = await LoginPost(this.formData)
    console.log('res', res)
  },

响应结果如下:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值