##如何不依賴後端返回的JSON資料,比後臺早一步下班
使用mockjs ,造json資料 例子: 效果:
操作,點選mockjs 隨機產生json資料。 程式碼:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<div>
<h1 id="mockjs">mockjs</h1>
</div>
<script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="http://mockjs.com/dist/mock.js"></script>
<script type="text/javascript">
//呼叫mock方法模擬資料
Mock.mock(
'http://mockjs', {
"userName": '@name', //模擬名稱
"age|1-100": 100, //模擬年齡(1-100)
"color": "@color", //模擬色值
"date": "@date('yyyy-MM-dd')", //模擬時間
"url": "@url()", //模擬url
"content": "@cparagraph()" //模擬文字
}
);
//ajax請求
$("#mockjs").click(function() {
$.ajax({
url: "http://mockjs", //請求的url地址
dataType: "json", //返回格式為json
async: true, //請求是否非同步,預設為非同步,這也是ajax重要特性
data: {}, //引數值
type: "GET", //請求方式
beforeSend: function() {
//請求前的處理
console.log('start');
},
success: function(req) {
//請求成功時處理
console.log(req);
},
complete: function() {
//請求完成的處理
console.log('end');
},
error: function(err) {
//請求出錯處理
console.log(err);
}
});
});
</script>
</body>
</html>
複製程式碼
如果想請求多一個api呢? 只需要建多一個物件
Mock.mock(
'http://getJSON', {
"userName": '@name', //模擬名稱
"age|1-100": 100, //模擬年齡(1-100)
}
);
複製程式碼
呼叫方法同上:
$("#getJSON").click(function() {
$.ajax({
url: "http://getJSON", //請求的url地址
dataType: "json", //返回格式為json
async: true, //請求是否非同步,預設為非同步,這也是ajax重要特性
data: {}, //引數值
type: "GET", //請求方式
beforeSend: function() {
//請求前的處理
console.log('start');
},
success: function(req) {
//請求成功時處理
console.log(req);
},
complete: function() {
//請求完成的處理
console.log('end');
},
error: function(err) {
//請求出錯處理
console.log(err);
}
});
});
複製程式碼