Mockjs实现了基于数据模版生成数据,拦截并模拟Ajax请求
借鉴:
https://segmentfault.com/a/1190000008839142
https://github.com/nuysoft/Mock/wiki/Getting-Started
node的express框架
app.js
var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var Mock = require('mockjs'); //body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。 app.use(bodyParser.urlencoded({extended:false})); app.use(bodyParser.json()); //静态文件 app.use(express.static('public')); app.use(express.static('public/views'));//login.html在views文件夹中 app.use(express.static('public/json')); //mockjs应用 app.get('/loginmock',function(req,res){ var obj = {'aa':'11','bb':'22','cc':'33','dd':'44'}; var data = Mock.mock({ "user|1-3":[{//随机生成1-3个数组元素 'name':'@cname',//中文名称 'id|+1':88,//属性值自动加一,初始值为88 'age|18-28':0,//18-28以内的随机数,0只是确定类型 'birthday':'@data("yyyy-MM-dd")',//日期 'city':'@city(true)',//中国城市 'color':'@color',//16进制颜色 'fromObj|2':obj//从obj对象中随机获取2个属性 },{ 'gf':'@cname' }] }); return res.send({data:data}); });
login.html
$.ajax({ url:'loginmock', type:'get', dataType:'json' }).done(function (data,status,xhr) { console.log(JSON.stringify(data,null,4)); })
结果: