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

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

vue + axios + mock.js

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

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

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

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

       优势:

2、了解axios的原理及使用

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

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

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

1、首先安装依赖包

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

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

        开发环境:.env.development

                

        生成环境:.env.production

                

      在随便一个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", //随机生成idname: "@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

     

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文件,现在开始测试

        

        打印后得到:

            404 !

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

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

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

问题就在这个 baseURL

解决过程:

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,原生的成功了;

     

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

      

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

至此。

相关文章:

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

vue axios mock.js 以下是封装的过程,记录一下 1、首先先了解什么是mock.js的用途及特点 官网地址:Mock.js (mockjs.com) 作用:生成随机数据,拦截 Ajax 请求 优势: 2、了解axios的原理及使用 官网地址&#xff1a…...

对象变更记录objectlog工具(持续跟新)

文章目录 前言演示代码演示环境引入项目项目框架操作步骤 设计介绍参考仓库 前言 系统基于mybatis-plus, springboot环境 对于重要的一些数据,我们需要记录一条记录的所有版本变化过程,做到持续追踪,为后续问题追踪提供思路。下面展示预期效果…...

平衡二叉树,二叉树的路径,左叶子之和

第六章 二叉树part04 今日内容: 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和 110.平衡二叉树 (优先掌握递归) 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为&am…...

Sodinokibi勒索病毒最新变种,解密工具更新到2.0版本

Sodinokibi勒索病毒 Sodinokibi勒索病毒又称REvil,自从2019年6月1日,GandCrab勒索病毒运营团伙宣布停止运营之后,Sodinokibi勒索病毒马上接管了GandCrab的大部分传播渠道,同时它也被称为是GandCrab勒索病毒的“接班人”&#xff…...

css 鼠标移入放大的效果

效果 HTML <div class"img-wrap"><img class"img-item" src"../assets/1.png" alt"" srcset""></div> CSS <style lang"less" scoped> .img-wrap {/* 超出隐藏 */overflow: hidden;.img-…...

Transformer模型分布式并行通信量浅析

1.数据并行DP&#xff08;朴素数据并行&#xff0c;Zero数据并行之后补充&#xff09; O ( h 2 ∗ l ) O(h^2*l) O(h2∗l) 每台机器做完自己的梯度后需要做一次All reduce操作来累积梯度&#xff0c;故一个batch计算发送的数据量为每层梯度大小 h 2 h^2 h2乘以层数 l l l 优点…...

PMP考试之20240304

1.一家食品公司正在使用预测型方法开发一种新产品&#xff0c;该产品目前正处于测试阶段。鉴于测试反馈的性质&#xff0c;项目经理决定使用迭代方法。在其中一个迭代结束时&#xff0c;颁布了与该产品有关的新法规。项目经理接下来应该做什么&#xff1f; A.就项目的范围提出…...

智慧城市中的公共服务创新:让城市生活更便捷

目录 一、引言 二、智慧城市公共服务创新的实践 1、智慧交通系统 2、智慧医疗服务 3、智慧教育系统 4、智慧能源管理 三、智慧城市公共服务创新的挑战 四、智慧城市公共服务创新的前景 五、结论 一、引言 随着信息技术的迅猛发展&#xff0c;智慧城市已成为现代城市发…...

bert 相似度任务训练完整版

任务 之前写了一个相似度任务的版本&#xff1a;bert 相似度任务训练简单版本,faiss 寻找相似 topk-CSDN博客 相似度用的是 0&#xff0c;1&#xff0c;相当于分类任务&#xff0c;现在我们相似度有评分&#xff0c;不再是 0,1 了&#xff0c;分数为 0-5&#xff0c;数字越大…...

Ribbon实现Cloud负载均衡

安装Zookeeper要先安装JDK环境 解压 tar -zxvf /usr/local/develop/jdk-8u191-linux-x64.tar.gz -C /usr/local/develop 配置JAVA_HOME vim /etc/profile export JAVA_HOME/usr/local/develop/jdk1.8.0_191 export PATH$JAVA_HOME/bin:$PATH export CLASSPATH.:$JAVA_HOM…...

【UE 材质】制作加载图案(2)

在上一篇&#xff08;【UE 材质】制作加载图案&#xff09;基础上继续实现如下效果的加载图案 效果 步骤 1. 复制一份上一篇制作的材质并打开 2. 添加“Floor”节点向下取整 除相同的平铺数 此时的效果如下 删除如下节点 通过“Ceil”向上取整&#xff0c;参数“Tiling”默认…...

为啥要用C艹不用C?

在很多时候&#xff0c;有人会有这样的疑问 ——为什么要用C&#xff1f;C相对于C优势是什么&#xff1f; 最近两年一直在做Linux应用&#xff0c;能明显的感受到C带来到帮助以及快感 之前&#xff0c;我在文章里面提到环形队列 C语言&#xff0c;环形队列 环形队列到底是怎么回…...

Java:JVM基础

文章目录 参考JVM内存区域程序计数器虚拟机栈本地方法栈堆方法区符号引用与直接引用运行时常量池字符串常量池直接内存 参考 JavaGuide JVM内存区域 程序计数器 程序计数器是一块较小的内存空间&#xff0c;可以看做是当前线程所执行的字节码的行号指示器&#xff0c;各线程…...

JavaSec 基础之五大不安全组件

文章目录 不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4jLog4jShiroJacksonFastJsonXStream 不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4j Log4j Apache的一个开源项目&#xff0c;是一个基于Java的日志记录框架。 历史…...

python类的属性、方法、静态方法、静态方法类内部的调用、直接调用与实例化调用

设计者&#xff1a;ISDF工软未来 版本&#xff1a;v1.0 日期&#xff1a;2024/3/4 class Restaurant:餐馆类def __init__(self,restaurant_name,cuisine_type):#类的属性self.restaurant_name restaurant_nameself.cuisine_type cuisine_type# self.stregth_level 0def desc…...

haproxy集成国密ssl功能[下]

上接[haproxy集成国密ssl功能上 4. 源码修改解析 以下修改基本围绕haproxy的ssl_sock.c进行修改来展开的,为了将整个实现逻辑能够说明清楚,下述内容有部分可能就是直接摘抄haproxy的原有代码没有做任何修改,而大部分增加或者修改的内容则进行了特别的说明。 4.1 为bind指令…...

C++自学精简实践教程

一、介绍 1.1 教程特点 一篇文章从入门到就业有图有真相&#xff0c;有测试用例&#xff0c;有作业&#xff1b;提供框架代码&#xff0c;作业只需要代码填空规范开发习惯&#xff0c;培养设计能力 1.2 参考书 唯一参考书《C Primer 第5版》​参考书下载&#xff1a; 蓝奏云…...

每日一题——LeetCode1572.矩阵对角线元素的和

方法一 遍历矩阵 如果矩阵中某个位置&#xff08;x,y&#xff09;处于对角线上&#xff0c;那么这个位置必定满足&#xff1a; xy 或 xy len-1 &#xff08;len为矩阵长度&#xff09; var diagonalSum function(mat) {let len mat.length;let sum 0;for (let i 0; i …...

mysql 常用命令练习

管理表格从表中查询数据从多个表查询修改数据sql变量类型 管理表格 创建一个包含三列的新表 CREATE TABLE products (id INT,name VARCHAR(255) NOT NULL,price INT DEFAULT 0,PRIMARY KEY(id) // 自增 ); 从数据库中删除表 DROP TABLE product; 向表中添加新列 ALTER TAB…...

QT6 libModbus 用于ModbusTcp客户端读写服务端

虽然在以前的文章中多次描述过,那么本文使用开源库libModbus,可得到更好的性能&#xff0c;也可移植到各种平台。 性能&#xff1a;读1次和写1次约各用时2ms。 分别创建了读和写各1个连接指针&#xff0c;用于读100个寄存器和写100个寄存器&#xff0c;读写分离。 客户端&am…...

高基数分类变量编码实战:均值、低秩与多项式逻辑回归方法解析

1. 项目概述&#xff1a;高基数分类变量的编码困局与破局思路在数据科学和机器学习的日常建模工作中&#xff0c;分类变量&#xff08;Categorical Variables&#xff09;的处理是绕不开的一环。从用户ID、邮政编码到产品SKU&#xff0c;这些变量往往携带了丰富的信息&#xff…...

C#直连Tesseract C++原生API实战指南

1. 为什么C#开发者要绕开NuGet包&#xff0c;直连Tesseract C原生API&#xff1f;“C#也能玩转OCR&#xff1f;”——这句话在.NET生态里常被当成一句调侃。多数人点开Visual Studio&#xff0c;搜tesseract&#xff0c;顺手装个Tesseract或Tesseract.NETNuGet包&#xff0c;写…...

从《原神》到《黑神话》都在用的AI Agent中间件:轻量级推理框架v0.9.3内部测试版首次泄露(仅限前500名开发者)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI Agent游戏行业应用全景图 AI Agent 正在重塑游戏开发、运营与玩家体验的全生命周期。从智能NPC行为建模到实时动态世界生成&#xff0c;从自动化测试脚本到个性化内容推荐&#xff0c;AI Agent已不再局限于…...

昇腾CANN ops-math LayerNorm:数值稳定性与 Warp Reduce 优化实战

LayerNorm 是现代神经网络的标配——Transformer 的每一层都有它。公式简单&#xff1a;μ mean(x), σ var(x), y (x-μ) / √(σε) * γ β。但 NPU 上的实现有三个陷阱&#xff1a;FP16 精度下 mean/variance 计算不稳定、Warp reduce 的并行归约需要跨 lane 同步、反向…...

C#调用Windows软键盘的系统级实现方案

1. 为什么在C#桌面应用里“调出软键盘”会变成一场系统级博弈在做Windows触控屏项目时&#xff0c;我遇到过最让人抓狂的场景之一&#xff1a;用户手指点到一个TextBox上&#xff0c;屏幕却一片寂静——没有软键盘弹出。不是代码没写&#xff0c;不是事件没绑&#xff0c;而是W…...

DPmoire:为莫尔超晶格定制高精度机器学习力场的自动化方案

1. 项目概述&#xff1a;当莫尔物理遇上机器学习力场 在凝聚态物理和计算材料科学的前沿&#xff0c;莫尔&#xff08;Moir&#xff09;超晶格系统正以其丰富而奇特的物理现象吸引着全球研究者的目光。通过简单地扭转两层二维材料&#xff08;如石墨烯或过渡金属硫族化合物&…...

不只是安装:用Carla+Win11快速搭建你的第一个自动驾驶测试场景(手把手教程)

从零到一&#xff1a;用Carla在Win11上构建自动驾驶测试场景的实战指南当你第一次启动Carla仿真环境&#xff0c;看到那个空荡荡的数字化城市时&#xff0c;是否感到既兴奋又迷茫&#xff1f;作为一款开源的自动驾驶仿真平台&#xff0c;Carla的真正价值不在于安装过程&#xf…...

LeetCode 238:除自身以外数组的乘积 | 前缀积与后缀积

LeetCode 238&#xff1a;除自身以外数组的乘积 | 前缀积与后缀积 引言 除自身以外数组的乘积&#xff08;Product of Array Except Self&#xff09;是 LeetCode 第 238 题&#xff0c;难度为 Medium。题目要求在 O(n) 时间内不使用除法计算每个元素除自身以外所有其他元素的乘…...

LeetCode 560:和为 K 的子数组 | 前缀和与哈希表

LeetCode 560&#xff1a;和为 K 的子数组 | 前缀和与哈希表 引言 和为 K 的子数组&#xff08;Subarray Sum Equals K&#xff09;是 LeetCode 第 560 题&#xff0c;难度为 Medium。题目要求在给定整数数组中找出连续子数组的元素和等于 K 的数量。这道题是前缀和与哈希表结合…...

别再傻等下载了!手把手教你用wget离线部署sentence-transformers模型(以all-MiniLM-L6-v2为例)

离线部署sentence-transformers模型的终极指南&#xff1a;以all-MiniLM-L6-v2为例你是否曾在下载Hugging Face模型时遭遇网络中断&#xff0c;眼睁睁看着进度条卡在99%却无能为力&#xff1f;本文将彻底解决这一痛点&#xff0c;教你用wget命令行工具实现模型的离线部署。不同…...