在做前端開發的時候,特別是一些業務邏輯集中在前端的開發中。我們經常需要自己來模擬獲取到后台接口的數據。為什么要模擬?可能后台接口還沒有開發完成,可能后台還沒有數據返回,可能。。。等等原因。曾經,我也嘗試過自己使用nodejs來自己寫需要模擬后台接口,但因為種種原因,最后都不了了之,或許是因為太復雜,在開發的時候顯得不夠人性化。偶然之間,一個轉身,我發現了mockjax和mockJSON。 ##mockjax和mockjson mockjax主要是可以針對指定的網址進行mock,當Ajax請求網址時進行攔截並回傳假的數據。OK,我要的就是這種功能! mockJSON則有點像是JSON的數據自動生成中心,可以根據我們指定的格式隨機生成回傳的JSON數據,在需要大量數據時比較有用。 貼上這倆在github的地址,有興趣的自行圍觀!
另外,這兩個都是基於jquery開發的插件,所以針對jquery開發流派還是比較有用! ##示例 首先,當然還是引入。
<script src="vendor/jquery.1.11.1.js"></script>
<script src="vendor/jquery.mockjax.js"></script>
<script src="vendor/jquery.mockjson.js"></script>
然后我們寫一個ajax請求
$(function() {
$.ajax({
url: '/WebApi/test.html',
type: 'GET',
error: function(xhr) {
alert('請求失敗');
},
success: function(res) {
alert(res);
}
});
});
由於url不存在,請求失敗。然后我們來使用mockjax!
var isAjaxMocked = true;
if (isAjaxMocked) {
$.mockjax({
url: '/WebApi/test.html',
status: 200,
responseTime: 900,
responseText: {'info': 'hello world', 'status': 'success'}
});
}
ok,mock ajax請求成功。而且我們通過設置開關,可以很輕易的在模擬和真實的之間切換。 當需要批量模擬數據時,我們可以使用mockJSON,在這里我就不詳細介紹了。