Maison  >  Article  >  interface Web  >  Tutoriel sur l'utilisation de Mock.js pour intercepter les requêtes AJAX dans l'environnement serveur Node.js

Tutoriel sur l'utilisation de Mock.js pour intercepter les requêtes AJAX dans l'environnement serveur Node.js

高洛峰
高洛峰original
2017-03-28 14:38:512320parcourir

0. Installer et utiliser Mock dans l'environnement Node

# 安装
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. Intercepter l'appel de requête ajax
La méthode est la suivante

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

Description de la méthode :
(1) rurl : paramètre facultatif.

représente l'URL qui doit être interceptée, qui peut être une chaîne d'URL ou une régularité d'URL. Par exemple //domain/list.json/, '/domian/list.json'.
(2) rtype : paramètre facultatif.

indique le type de requête Ajax qui doit être interceptée. Par exemple GET, POST, PUT, DELETE, etc.
(3) modèle|fonction : paramètres obligatoires, n'en prenez qu'un.

(4) template représente un modèle de données, qui peut être un objet ou une chaîne. Par exemple { 'data|1-10':[{}] }, '@EMAIL'.
(5) la fonction pointe vers l'ensemble d'options Ajax de cette requête, contenant trois attributs : url, type et body. Voir la spécification XMLHttpRequest.
Conseils

À partir de la version 1.0, Mock.js intercepte les requêtes Ajax en remplaçant et en simulant le comportement de XMLHttpRequest natif, et ne s'appuie plus sur des bibliothèques d'outils Ajax tierces (telles que jQuery, Zepto, etc. ).

2. Interception du délai d'attente des requêtes Ajax
Configurez le comportement lors de l'interception des requêtes Ajax. Les éléments de configuration pris en charge incluent : timeout.

(1) Mock.setup( settings )
(2) settings
Obligatoire.
Collection d'éléments de configuration.
(3) délai d'attente
facultatif.
Spécifiez le temps de réponse des requêtes Ajax interceptées, en millisecondes. La valeur peut être un entier positif, tel que 400, ce qui signifie que le contenu de la réponse sera renvoyé après 400 millisecondes ; ou il peut s'agir d'une chaîne de style tiret « - », telle que « 200-600 », ce qui signifie que la réponse le temps est compris entre 200 et 600 millisecondes. La valeur par défaut est « 10-100 ».

3. L'interception que je comprends
utilise le même nom de méthode et supprime la colonne pour intercepter la méthode spécifiée. Modifiez ce pointeur via l'appel et l'interception.

// 实现原理
// 定义父类
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();

Pour plus de tutoriels sur l'utilisation de Mock.js pour intercepter les requêtes AJAX dans un environnement de serveur Node.js, veuillez faire attention au site Web PHP chinois !

Articles associés :

Explication détaillée des instances d'interception de requêtes ajax par les intercepteurs

Interception des instances de requêtes ajax globales via JS

Comment vérifier s'il s'agit d'une requête ajax via php

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn