【无标题】

mockjs和axios一起使用的404问题和请求不生效的问题

一般是这两个地方栽坑

​ 1.这里有个小细节说下,axios.get()方法和axios.post()在提交数据时参数的书写方式还是有区别的。区别就是,get的第二个参数是一个{},然后这个对象的params属性值是一个参数对象的。而post的第二个参数就是一个参数对象。两者略微的区别要留意哦!(很多文章作者栽坑处,本人也栽过)

  1. 注意请求的 url的 “/” ,请求中是这样 ‘api/user/login’.mock中是这样’/api/user/login’ ,

在这里插入图片描述
在这里插入图片描述

因为mockjs的缺点.直接拦截xhr,所以只能通过clg来打印进行调试bug。依次console.log.按照数据的流向来clg

1.组件分派action
2.action调用api电路板
3.请求封装函数
4.拦截器
5.mock文件的mock函数的config对象打印出来请求主体

mockjs缺点

mock的原理是: 拦截了所有的请求并代理到本地,然后进行数据模拟,所以你会发现 network 中没有发出任何的请求。

但它的最大的问题是就是它的实现机制。它会重写浏览器的XMLHttpRequest对象,从而才能拦截所有请求,代理到本地。大部分情况下用起来还是蛮方便的,但就因为它重写了XMLHttpRequest对象,所以比如progress方法,或者一些底层依赖XMLHttpRequest的库都会和它发生不兼容,可以看一下vue-element-admin这个项目的issues,就知道多少人被坑了。

它还有一个问题是,因为是它本地模拟的数据,实际上不会走任何网络请求。所以本地调试起来很蛋疼,只能通过console.log来调试。就拿vue-element-admin来说,想搞清楚 getInfo()接口返回了什么数据,只能通过看源码或者手动 Debug 才能知道。

总结mock的2个缺点:

  1. 比如progress方法,或者一些底层依赖XMLHttpRequest的库都会和它发生不兼容,可以看一下vue-element-admin项目的issues,就知道多少人被坑了

  2. 因为是它本地模拟的数据,实际上不会走任何网络请求。所以本地调试起来很蛋疼,只能通过console.log来调试。就拿vue-element-admin来说,想搞清楚 getInfo()接口返回了什么数据,只能通过看源码或者手动 Debug 才能知道。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值