亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mock.js模擬數(shù)據(jù)實(shí)現(xiàn)前后端分離

 更新時(shí)間:2019年07月24日 11:51:23   作者:壞丶毛病  
這篇文章主要為大家詳細(xì)介紹了mock.js模擬數(shù)據(jù)實(shí)現(xiàn)前后端分離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

但是起初項(xiàng)目剛開始,后端還沒有寫好接口數(shù)據(jù),前端要構(gòu)建頁面,還得考慮結(jié)構(gòu)以及后期真實(shí)數(shù)據(jù)的問題。

所以前后端統(tǒng)一接口數(shù)據(jù)和格式是必要的。

而當(dāng)統(tǒng)一好接口數(shù)據(jù)和格式后,前端就可以通過mock.js來模擬對應(yīng)格式的數(shù)據(jù),以此來完成頁面的搭建,當(dāng)后端完成接口和數(shù)據(jù)后,因?yàn)榍捌跀?shù)據(jù)格式都是規(guī)范好的,所以只要去除掉mock.js那部分即可,而不需要再更改界面。

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

根據(jù)官網(wǎng)簡單的解釋來說,就是:攔截ajax請求,模擬返回自定義格式的數(shù)據(jù),實(shí)現(xiàn)前后端分離。

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

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

普通不涉及框架的項(xiàng)目中安裝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以內(nèi)隨機(jī)整數(shù)
      '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) {
    //創(chuàng)建對象
    xhr = new XMLHttpRequest();
    //設(shè)置請求參數(shù)
    xhr.open(method, url, isAsync);
    //回調(diào)函數(shù)
    xhr.onreadystatechange = function () {
      if (xhr.readyState == 4 && xhr.status == 200) {
        console.log(xhr.responseText);
      }
    }
    //發(fā)送請求
    xhr.send();
  }
  ajax('get','http://api.com','', true);
</script>

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

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

這樣在項(xiàng)目初期,后端沒有數(shù)據(jù)的情況下,我們就可以通過模擬數(shù)據(jù)完成頁面功能的開發(fā)。

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

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

返回?cái)?shù)據(jù)效果:

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

附上官網(wǎng)的地址:

mock.js官網(wǎng)

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用js實(shí)現(xiàn)每隔一秒刷新時(shí)間的實(shí)例(含年月日時(shí)分秒)

    用js實(shí)現(xiàn)每隔一秒刷新時(shí)間的實(shí)例(含年月日時(shí)分秒)

    下面小編就為大家?guī)硪黄胘s實(shí)現(xiàn)每隔一秒刷新時(shí)間的實(shí)例(含年月日時(shí)分秒)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • JavaScript中ES6字符串?dāng)U展方法

    JavaScript中ES6字符串?dāng)U展方法

    這篇文章主要介紹了JavaScript中ES6字符串?dāng)U展方法的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • 微信小程序云開發(fā) 生成帶參小程序碼流程

    微信小程序云開發(fā) 生成帶參小程序碼流程

    這篇文章主要為大家詳細(xì)介紹了微信小程序云開發(fā),生成帶參小程序碼,云函數(shù)網(wǎng)絡(luò)請求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 深入淺析JavaScript中的arguments對象(強(qiáng)力推薦)

    深入淺析JavaScript中的arguments對象(強(qiáng)力推薦)

    這篇文章主要介紹了JavaScript中的arguments對象(強(qiáng)力推薦)的相關(guān)資料,非常不錯具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 微信小程序宿主環(huán)境基礎(chǔ)介紹

    微信小程序宿主環(huán)境基礎(chǔ)介紹

    這篇文章主要介紹了微信小程序宿主環(huán)境的基礎(chǔ)知識,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 簡述凍結(jié)JS對象方法技術(shù)

    簡述凍結(jié)JS對象方法技術(shù)

    本文主要介紹了凍結(jié)JS對象方法技術(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • JS使用 cryptojs加密解密(對稱加密庫)的問題

    JS使用 cryptojs加密解密(對稱加密庫)的問題

    js 加密解密可以使用 crypto-js,這是一個對稱加密的庫, 可以使用 AES DES 但沒有 rsa 等非對稱加密的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-11-11
  • 解決瀏覽器會自動填充密碼的問題

    解決瀏覽器會自動填充密碼的問題

    本篇文章主要介紹了解決瀏覽器會自動填充密碼問題的方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • javascript關(guān)于運(yùn)動的各種問題經(jīng)典總結(jié)

    javascript關(guān)于運(yùn)動的各種問題經(jīng)典總結(jié)

    這篇文章主要介紹了javascript關(guān)于運(yùn)動的各種問題,實(shí)例總結(jié)了javascript關(guān)于滾動的常見錯誤、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • js 優(yōu)化次數(shù)過多的循環(huán) 考慮到性能問題

    js 優(yōu)化次數(shù)過多的循環(huán) 考慮到性能問題

    IE沒有我們想象中笨,它知道總的循環(huán)次數(shù)還是一千萬次。因此,得把這一百個十萬次循環(huán)分開執(zhí)行。雖然Javascript是單線程的,但也可以通過setTimeout或setInterval模擬多線程。
    2011-03-03

最新評論