国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js服務器環境下使用Mock.js攔截AJAX請求的教程

2019-11-20 09:57:02
字體:
來源:轉載
供稿:網友

0、Node環境下安裝和使用Mock

# 安裝npm install mockjs
// 使用 Mockvar 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();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 友谊县| 南涧| 理塘县| 库车县| 巩留县| 黔东| 温泉县| 云林县| 南京市| 涪陵区| 和龙市| 弥渡县| 大港区| 深泽县| 伊春市| 广丰县| 延吉市| 冕宁县| 中方县| 寿阳县| 石泉县| 那曲县| 长乐市| 波密县| 大田县| 罗山县| 鹤庆县| 金堂县| 阿荣旗| 富阳市| 昌乐县| 鸡西市| 梅河口市| 东丰县| 霍林郭勒市| 陇西县| 沂水县| 祁连县| 明溪县| 临汾市| 开原市|