mock拦截ajax请求,Node.js服务器环境下使用Mock.js拦截AJAX请求的教程

0、Node环境下安装和使用Mock

# 安装

npm install mockjs

// 使用 Mock

var Mock = require('mockjs')

var data = Mock.mock({

// 属性 list 的值是一个数组,其中含有 1 到 10 个元素

'list|1-10': [{

// 属性 id 是一个自增数,起始值为 1,每次增 1

'id|+1': 1

}]

})

// 输出结果

console.log(JSON.stringify(data, null, 4))

1、拦截 ajax 请求调用方法如下

Mock.mock( rurl?, rtype?, template|function( options ) )

方法说明:

(1)rurl: 可选参数。

表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。例如 //domain/list.json/、'/domian/list.json'。

(2)rtype:可选参数。

表示需要拦截的 Ajax 请求类型。例如 GET、POST、PUT、DELETE 等。

(3)template|function:必选参数,只取其中一项。

(4)template 表示数据模板,可以是对象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。

(5)function 指向本次请求的 Ajax 选项集,含有 url、type 和 body 三个属性,参见 XMLHttpRequest 规范。

提示

从 1.0 开始,Mock.js 通过覆盖和模拟原生 XMLHttpRequest 的行为来拦截 Ajax 请求,不再依赖于第三方 Ajax 工具库(例如 jQuery、Zepto 等)。

2. 拦截 Ajax 请求超时配置拦截 Ajax 请求时的行为。支持的配置项有:timeout。

(1)Mock.setup( settings )

(2)settings

必选。

配置项集合。

(3)timeout

可选。

指定被拦截的 Ajax 请求的响应时间,单位是毫秒。值可以是正整数,例如 400,表示 400 毫秒 后才会返回响应内容;也可以是横杠 '-' 风格的字符串,例如 '200-600',表示响应时间介于 200 和 600 毫秒之间。默认值是'10-100'。

3. 本人理解的拦截使用同一个方法名,去栏截指定方法。通过 call 修改 this 指向,到达 拦截。

// 实现原理

// 定义父类

var mock_ajax = function(str){

this.showName=function(){

console.log(str);

}

return this;

};

// 定义子类

var jquery_ajax = function(str){

this.showName = function(){

console.log('ajax');

}

return this;

};

jquery_ajax('').showName();// -> ajax

// 改变 this 指向

mock_ajax.call(jquery_ajax,'111');

// 调用

jquery_ajax.showName();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值