码迷,mamicode.com
首页 > 其他好文 > 详细

前端模拟数据生成器

时间:2014-10-31 11:35:34      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   os   ar   sp   数据   

摘要:

  ?随着用户体验的重要性越来越高,目前前端和后台的解耦已经越来越明显了,这也加大了前后端的配合工作。在前端开发过程中可能我们需要一些后台返回的数据来完成交互效果,但是后台开发人员并没有完成后台功能,此时我们只能等,但是这样必然影响了开发进度,浪费了时间。有很多种解决方法,如果后端解决的话,那就是先定义接口,然后将假数据直接返回。如果在前端解决的话,前端搭建自己的服务,不依赖后端。作为前端工程师,今天我分享下另一种前端解决方案,mock服务。

简介:

  Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能

  • 根据数据模板生成模拟数据
  • 模拟 Ajax 请求,生成并返回模拟数据
  • 基于 HTML 模板生成模拟数据

例子:

mock.js

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta http-equiv="Content-Type" content="text/html">
 5     </head>
 6     <body>
 7         <script src="http://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script>
 8         <script src="http://mockjs.com/dist/mock.js"></script>
 9         <script>
10             Mock.mock(/\.json/, get, function(options) {
11                 var url = options.url;
12                 var data = url.substring(url.indexOf(?)+1);
13                 return data;
14             });
15 
16 
17             Mock.mock(/\.json/, post, function(options) {
18                 return options.data;
19             });
20 
21 
22             $.ajax({
23                 url: mock.json,
24                 dataType: json,
25                 type: get,
26                 data: {
27                     test: test
28                 }
29             })
30             .done(function (data, status, jqXHR) {
31                 $(<pre>).text(data)
32                     .appendTo(body);
33             });            
34         </script>
35     </body>
36 </html>

 

apitizer.js

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta http-equiv="Content-Type" content="text/html">
 5     </head>
 6     <body>
 7         <script src="http://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script>
 8         <script src="./apitizer-master/apitizer.min.js"></script>
 9         <script>
10         var schema = {
11             type : "object",
12             properties : {
13                 id : {
14                     type : "integer"
15                 },
16                 username : {
17                     type : "string"
18                 },
19                 password : {
20                     type : "string"
21                 }
22             }
23         }, userStore;
24 
25         apitizer.addSchema(user, schema);
26         userStore = apitizer.schemaStore(user, 0, {
27             id : apitizer.types.autoincrement()
28         })
29 
30         userStore.add({
31             username : retro,
32             password : {
33                 a: a,
34                 b: b
35             }
36         });
37 
38         apitizer.fixture(POST /login, function(params){
39             var users = userStore.db(params) // Search the data in the store‘s database
40             if(users.count() === 0){
41                 throw {errors: [Wrong credentials], status: 401}
42             } else {
43                 return users.first();
44             }
45         });
46 
47         $.post(/login, {
48             username : asf,
49             password : 1338
50         }).then(function(data){
51             $(<pre>).text(JSON.stringify(data, null, 4))
52             .appendTo(body);
53         }, function(error){
54 
55         });
56 
57         
58         </script>
59     </body>
60 </html>

 

PS:

    mock.js:http://mockjs.com/

    apitizer.js:https://github.com/retro/apitizer

前端模拟数据生成器

标签:style   blog   http   io   color   os   ar   sp   数据   

原文地址:http://www.cnblogs.com/xiyangbaixue/p/4064504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!