>  기사  >  웹 프론트엔드  >  Node.js 서버 환경에서 Mock.js를 사용하여 AJAX 요청을 가로채는 방법에 대한 튜토리얼

Node.js 서버 환경에서 Mock.js를 사용하여 AJAX 요청을 가로채는 방법에 대한 튜토리얼

高洛峰
高洛峰원래의
2017-03-28 14:38:512346검색

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) 템플릿|함수: 필수 매개변수 중 하나만 가져옵니다.

(4) 템플릿은 데이터 템플릿을 나타내며 개체 또는 문자열일 수 있습니다. 예를 들면 { 'data|1-10':[{}] }, '@EMAIL'입니다.
(5) 함수는 url, type 및 body의 세 가지 속성을 포함하는 이 요청의 Ajax 옵션 세트를 가리킵니다. XMLHttpRequest 사양을 참조하세요.

1.0부터 Mock.js는 기본 XMLHttpRequest의 동작을 재정의하고 시뮬레이션하여 Ajax 요청을 가로채고 더 이상 타사 Ajax 도구 라이브러리(예: jQuery, Zepto 등)에 의존하지 않습니다. ).

2. Ajax 요청 시간 초과 차단
Ajax 요청 차단 시 동작을 구성합니다. 지원되는 구성 항목은 다음과 같습니다: 시간 초과.

(1) Mock.setup( 설정 )
(2) 설정
필수입니다.
구성 항목 컬렉션.
(3) 시간 제한
선택 사항.
차단된 Ajax 요청의 응답 시간을 밀리초 단위로 지정합니다. 값은 400과 같은 양의 정수(예: 응답 내용이 400밀리초 후에 반환됨을 의미)이거나 '200-600'과 같은 하이픈 '-' 스타일 문자열일 수 있습니다. 시간은 200~600밀리초입니다. 기본값은 '10-100'입니다.

3. 내가 이해하는 차단
은 동일한 메소드 이름을 사용하고 지정된 메소드를 차단하기 위해 열을 제거합니다. 통화 및 도달 차단을 통해 이 포인터를 수정합니다.

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

Mock.js를 사용하여 Node.js 서버 환경에서 AJAX 요청을 가로채는 방법에 대한 더 많은 튜토리얼을 보려면 PHP 중국어 웹사이트에 주목하세요!

관련글 :

인터셉터에 의한 Ajax 요청 차단 인스턴스에 대한 자세한 설명

JS를 통한 전역 Ajax 요청 인스턴스 차단

PHP를 통해 Ajax 요청인지 확인하는 방법

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.