Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請(qǐng)求的教程
0、Node環(huán)境下安裝和使用Mock
# 安裝 npm install mockjs
// 使用 Mock var Mock = require('mockjs') var data = Mock.mock({ // 屬性 list 的值是一個(gè)數(shù)組,其中含有 1 到 10 個(gè)元素 'list|1-10': [{ // 屬性 id 是一個(gè)自增數(shù),起始值為 1,每次增 1 'id|+1': 1 }] }) // 輸出結(jié)果 console.log(JSON.stringify(data, null, 4))
1、攔截 ajax 請(qǐng)求調(diào)用
方法如下
Mock.mock( rurl?, rtype?, template|function( options ) )
方法說(shuō)明:
(1)rurl: 可選參數(shù)。
表示需要攔截的 URL,可以是 URL 字符串或 URL 正則。例如 /\/domain\/list\.json/、'/domian/list.json'。
(2)rtype:可選參數(shù)。
表示需要攔截的 Ajax 請(qǐng)求類(lèi)型。例如 GET、POST、PUT、DELETE 等。
(3)template|function:必選參數(shù),只取其中一項(xiàng)。
(4)template 表示數(shù)據(jù)模板,可以是對(duì)象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。
(5)function 指向本次請(qǐng)求的 Ajax 選項(xiàng)集,含有 url、type 和 body 三個(gè)屬性,參見(jiàn) XMLHttpRequest 規(guī)范。
提示
從 1.0 開(kāi)始,Mock.js 通過(guò)覆蓋和模擬原生 XMLHttpRequest 的行為來(lái)攔截 Ajax 請(qǐng)求,不再依賴(lài)于第三方 Ajax 工具庫(kù)(例如 jQuery、Zepto 等)。
2. 攔截 Ajax 請(qǐng)求超時(shí)
配置攔截 Ajax 請(qǐng)求時(shí)的行為。支持的配置項(xiàng)有:timeout。
(1)Mock.setup( settings )
(2)settings
必選。
配置項(xiàng)集合。
(3)timeout
可選。
指定被攔截的 Ajax 請(qǐng)求的響應(yīng)時(shí)間,單位是毫秒。值可以是正整數(shù),例如 400,表示 400 毫秒 后才會(huì)返回響應(yīng)內(nèi)容;也可以是橫杠 '-' 風(fēng)格的字符串,例如 '200-600',表示響應(yīng)時(shí)間介于 200 和 600 毫秒之間。默認(rèn)值是'10-100'。
3. 本人理解的攔截
使用同一個(gè)方法名,去欄截指定方法。通過(guò) call 修改 this 指向,到達(dá) 攔截。
// 實(shí)現(xiàn)原理 // 定義父類(lèi) var mock_ajax = function(str){ this.showName=function(){ console.log(str); } return this; }; // 定義子類(lèi) var jquery_ajax = function(str){ this.showName = function(){ console.log('ajax'); } return this; }; jquery_ajax('').showName();// -> ajax // 改變 this 指向 mock_ajax.call(jquery_ajax,'111'); // 調(diào)用 jquery_ajax.showName();
- node.js+jQuery實(shí)現(xiàn)用戶(hù)登錄注冊(cè)AJAX交互
- Node.js如何響應(yīng)Ajax的POST請(qǐng)求并且保存為JSON文件詳解
- Node.js獲取前端ajax提交的request信息
- Node.js配合node-http-proxy解決本地開(kāi)發(fā)ajax跨域問(wèn)題
- node.js+Ajax實(shí)現(xiàn)獲取HTTP服務(wù)器返回?cái)?shù)據(jù)
- node.js chat程序如何實(shí)現(xiàn)Ajax long-polling長(zhǎng)鏈接刷新模式
- Ajax異步文件上傳與NodeJS express服務(wù)端處理
- Ajax 的初步實(shí)現(xiàn)(使用vscode+node.js+express框架)
相關(guān)文章
Nodejs excel(.xlsx) 文件的讀寫(xiě)方式
這篇文章主要介紹了Nodejs excel(.xlsx) 文件的讀寫(xiě)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09淺談Node.js爬蟲(chóng)之網(wǎng)頁(yè)請(qǐng)求模塊
本篇文章主要介紹了淺談Node.js爬蟲(chóng)之網(wǎng)頁(yè)請(qǐng)求模塊,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的全過(guò)程
有時(shí)候使用nvm管理node會(huì)發(fā)現(xiàn)無(wú)法使用node或npm,主要原因是環(huán)境變量沒(méi)有配置成功,下面這篇文章主要給大家介紹了關(guān)于安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的相關(guān)資料,需要的朋友可以參考下2023-03-03Node.js+jade+mongodb+mongoose實(shí)現(xiàn)爬蟲(chóng)分離入庫(kù)與生成靜態(tài)文件的方法
下面小編就為大家?guī)?lái)一篇Node.js+jade+mongodb+mongoose實(shí)現(xiàn)爬蟲(chóng)分離入庫(kù)與生成靜態(tài)文件的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09node.js 基于cheerio的爬蟲(chóng)工具的實(shí)現(xiàn)(需要登錄權(quán)限的爬蟲(chóng)工具)
這篇文章主要介紹了node.js 基于cheerio的爬蟲(chóng)工具的實(shí)現(xiàn)(需要登錄權(quán)限的爬蟲(chóng)工具) ,需要的朋友可以參考下2019-04-04Node.js實(shí)現(xiàn)在目錄中查找某個(gè)字符串及所在文件
這篇文章主要介紹了Node.js實(shí)現(xiàn)在目錄中查找某個(gè)字符串及所在文件,文中代碼簡(jiǎn)潔,而且速度相當(dāng)?shù)目?需要的朋友可以參考下2014-09-09node.js中的fs.writeFile方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.writeFile方法使用說(shuō)明,本文介紹了fs.writeFile的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12