国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

mock.js模擬數據實現前后端分離

2024-05-06 16:53:35
字體:
來源:轉載
供稿:網友

眾所周知,在日常開發中,前后端分離是最常見的開發模式,前端完成頁面渲染,后端提供接口數據。

但是起初項目剛開始,后端還沒有寫好接口數據,前端要構建頁面,還得考慮結構以及后期真實數據的問題。

所以前后端統一接口數據和格式是必要的。

而當統一好接口數據和格式后,前端就可以通過mock.js來模擬對應格式的數據,以此來完成頁面的搭建,當后端完成接口和數據后,因為前期數據格式都是規范好的,所以只要去除掉mock.js那部分即可,而不需要再更改界面。

那么說了這么多,mock.js到底是什么?

根據官網簡單的解釋來說,就是:攔截ajax請求,模擬返回自定義格式的數據,實現前后端分離。

說的這么厲害,那么我們來看看具體用法。

這次先看看在原生中怎么使用,下次介紹在vue中的使用。

普通不涉及框架的項目中安裝mock.js推薦使用bower安裝:

npm install bower -g
bower install mockjs --save

具體使用:

<!DOCTYPE html><html lang="en"> <head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>mock js-demo1</title></head> <body> </body> </html><script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script><script src="js/ajax.js"></script><script type="text/javascript" src="./bower_components/mockjs/dist/mock.js"></script><script>  Mock.mock('http://api.com', {    'users|5': [ {      'name': '@cname', //中文名稱      'age|1-100': 100, //100以內隨機整數      'birthday': '@date("yyyy-MM-dd")', //日期      'city': '@city(true)' //中國城市    }]  });  // //JQuery方式  $.ajax({    url: 'http://api.com',    dataType: 'json'  }).done(function (data, status, xhr) {    console.log(      JSON.stringify(data, null, 4)    )  });  //原生ajax方式  function ajax(method, url, params, isAsync) {    //創建對象    xhr = new XMLHttpRequest();    //設置請求參數    xhr.open(method, url, isAsync);    //回調函數    xhr.onreadystatechange = function () {      if (xhr.readyState == 4 && xhr.status == 200) {        console.log(xhr.responseText);      }    }    //發送請求    xhr.send();  }  ajax('get','http://api.com','', true);</script>

這里我引入了通過bower下載的mock.js,然后給mockjs給定一個請求地址(如果有可以給定真實地址,沒有可以寫個假地址,只要和ajax請求地址一致即可),然后在mock的第二個參數中定義了數據格式,是個隨機五位的數組對象,包括姓名、年齡、生日、地址

然后通過ajax正常請求地址,然后返回值就會收到mock.js的攔截,而返回我們自定義格式的數據,而不是后端數據

這樣在項目初期,后端沒有數據的情況下,我們就可以通過模擬數據完成頁面功能的開發。

當后端數據完成后,我們只要刪除mock.js部分即可(如果前期接口地址是假的,改一下接口地址即可)

這里推薦把mock.js部分抽離到公共的文件中,引入即可,這樣后期可維護性強,只要不引入mock部分即可,而不用來回刪代碼。

返回數據效果:

mock.js,模擬數據,前后端分離

具體的請求格式官網寫的很清楚,這里就不做贅述了。

附上官網的地址:

mock.js官網

好了,這次就介紹到這里,大家去試試吧。

如有問題,請指出,接受批評。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西华县| 万山特区| 合作市| 大足县| 甘德县| 辉南县| 阳新县| 浮山县| 乾安县| 万山特区| 富宁县| 河源市| 固始县| 孟村| 手游| 娱乐| 手机| 永济市| 神池县| 河东区| 沁水县| 阿城市| 唐河县| 绥德县| 襄汾县| 上栗县| 金湖县| 松滋市| 南岸区| 灵璧县| 司法| 枣阳市| 丰城市| 望谟县| 元朗区| 景德镇市| 鄂州市| 泽州县| 安龙县| 寿阳县| 简阳市|