本文共 1880 字,大约阅读时间需要 6 分钟。
Mock.js 提供了多种方式来模拟数据请求,以下是主要的方法说明:
说明:
根据数据模板生成模拟数据。模板可以是字符串或对象,例如:'@EMAIL'
,将替换为实际的邮件地址。{ 'data|1-10': [{}], 'meta': { 'page': 1 } }
,将生成对应的模拟数据。示例:
Mock.mock('http://example.com/api/users', { data: ["Alice", "Bob", "Charlie"], meta: { page: 1, limit: 10 }});
说明:
当检测到匹配rurl
的 AJAX 请求时,使用模板生成模拟数据。rurl
可以是 URL 字符串或正则表达式。 示例:
Mock.mock(/\/domain\/list\.json/, { data: [], meta: { current_page: 1, total_page: 10 }});
说明:
当检测到匹配rurl
的 AJAX 请求时,执行提供的函数,函数返回的结果作为模拟响应数据。 示例:
Mock.mock('http://example.com/api', (options) => { return { id: options.param.id, name: options.body.name };});
说明:
当检测到匹配rurl
和 rtype
的 AJAX 请求时,使用模板生成模拟数据。 示例:
Mock.mock('http://example.com/api/users', 'GET', { data: [], meta: { total_count: 100, current_page: 1 }});
说明:
当检测到匹配rurl
和 rtype
的 AJAX 请求时,执行提供的函数,函数返回的结果作为模拟响应数据。 示例:
Mock.mock('http://example.com/api', 'POST', (options) => { return { id: options.body.id, status: 'success' };});
rurl
'/domain/list.json'
/\/domain\/list\.json/
rtype
GET
、POST
、PUT
、DELETE
等。template
@EMAIL
)将被替换为实际值。function
rurl
的请求时,函数将被执行,返回结果作为模拟响应。Mock.mock('/api/user', 'GET', { data: [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' } ], meta: { current_page: 1, total_page: 10 }});
Mock.mock('/api/auth', 'POST', (options) => { return { token: 'abcd1234', expiration: '2024-01-01' };});
Mock.js 通过模拟 AJAX 请求,帮助开发人员在不实际调用后端 API 的情况下测试前端代码。它不依赖任何第三方库,基于原生 XMLHttpRequest
实现,支持多种请求类型和灵活的模板配置。
转载地址:http://ybffk.baihongyu.com/