vue2 + axios + mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解

马肤

温馨提示:这篇文章已超过421天没有更新,请注意相关的内容是否还可用!

摘要:,,本文介绍了Vue2与axios结合使用时,如何封装过程并处理mock.js获取数据时出现的404状态问题。文章详细阐述了使用mock.js模拟数据,通过axios进行请求,遇到404错误时的解决方案。文章图文并茂,步骤清晰,为读者提供了实用的指导和帮助,是学习和实践Vue2、axios和mock.js的优质资源。

vue + axios + mock.js

以下是封装的过程,记录一下

1、首先先了解什么是mock.js的用途及特点

       官网地址:Mock.js (mockjs.com)

       作用:生成随机数据,拦截 Ajax 请求

       优势:vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第1张

2、了解axios的原理及使用

        官网地址:Axios中文文档 | Axios中文网 (axios-http.cn)

        作用:Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js

----------------------以上均认为你已了解后,接下来开始封装----------------------

1、首先安装依赖包

npm install mockjs --save-dev
npm install axios --save

2、添加环境变量,以便在后续与后端对接接口时方便更改(根据自己的情况更改)

        开发环境:.env.development

                vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第2张

        生成环境:.env.production

                vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第3张

      在随便一个vue文件中能conlog.log(process.env.VUE_APP_BASE_URL)打印出来就是配置好了

3、在src下面创建一个utils文件夹,创建一个request.js文件

import axios from "axios";
const request = axios.create({
  baseURL: process.env.VUE_APP_BASE_URL, // 设置默认的
  timeout: 5000, // 设置默认的请求超时时间
});
// 添加请求拦截器
request.interceptors.request.use(
  (config) => {
    // 在发送请求
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);
// 添加响应拦截器
request.interceptors.response.use(
  (response) => {
    // 对响应数据做点什么
    return response.data;
  },
  (error) => {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);
export default request;

4、在utils中创建一个mock.js的文件

    这个文件里可以配置你需要的api的字段,以下示例 '/api/list','get'请求

import Mock from "mockjs";
Mock.mock("/api/list", "get", () => {
  return Mock.mock({
    code:200,
    "data|1-10": [
      {
        id: "@id", //随机生成id
        name: "@cname", //随机生成中文名字
        "age|18-60": 1, //随机生成18-60的数字
        "sex|1-2": 1, //随机生成1-2的数字
        "salary|1000-10000": 1, //随机生成1000-10000的数字
        "birthday": "@date", //随机生成日期
        "time": "@time", //随机生成时间
        "content": "@cparagraph", //随机生成中文段落
        "img": "@image('200x100', '#50B347', '#FFF', 'png', 'Mock.js')", //随机生成图片
        "address": "@county(true)", //随机生成地址
        "email": "@email", //随机生成邮箱
        "ip": "@ip", //随机生成ip
        "url": "@url", //随机生成url
      },
    ],
  });
});

5、在main.js中引入utils中的这个mock.js

     vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第4张

6、接着,在src文件下再创建一个api文件夹,并创建一个user.js文件

      在user.js文件下引入封装好的request.js文件,然后把刚刚在mock.js中创建的'/api/list'暴露出去

import request from '@/utils/request'
export function getCase() {
  return request({
    url: '/api/list',
    method: 'get'
  })
}

7、随便创建一个vue文件,现在开始测试

        vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第5张

        打印后得到:

            404 !

----------------------报404状态码,哈哈哈哈哈哈哈哈哈哈哈哈哈----------------------

----------------------不过没关系,接着来:----------------------

vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第6张

我先告诉你哪里的错误吧,然后接着再跟你分享原因

问题就在这个 baseURL

vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第7张

解决过程:

1、既然我封装的报了错,那我就用原生的测试一下有没有数据

      a、在main.js中引入axios:

import axios from 'axios'
Vue.prototype.$axios = axios

      b、在刚刚的vue文件中用原生的测试一下

mounted() {
    // 封装的
    getList().then(res => {
      console.log(res);
    })
    // 原生的
    this.$axios.get('/api/getList')
      .then(function (response) {// 处理成功情况
        console.log(response);
      })
      .catch(function (error) {// 处理错误情况
        console.log(error);
      })
      .finally(function () {// 总是会执行情况
        debugger 
      });
  },

c、此时发现,封装的404,原生的成功了;

     vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第8张

     这时发现封装的请求URL是''http://localhost:8080/api/getList''

      vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第9张

     那我们就把这个'http://localhost:8080',加到原生的地址上面去结果也是404,那就晓得了,直接找到request.js,把baseURL的地址设为空就好了。

vue2 + axios mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!,Vue2中使用axios与mock.js的封装过程,解决404错误及图文详解 第10张

至此。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码