Vue中使用mock.js攔截Ajax 請求


mock.js可以生成隨機數據,攔截 Ajax 請求返回模擬的響應數據,讓前端攻城師獨立於后端進行開發。

開始使用吧。

1.npm下安裝

1 npm install mockjs --save

2.在vue項目中創建mock.js

 

 在mock.js中引入mockjs,添加一個login的接口如下:

1 import Mock from 'mockjs'
2 
3 Mock.mock('/api/login',
4   {
5     'message': 'success'
6   }
7 )

在使用mock.js的頁面中引入mock.js,另外使用axios進行請求,因此也要引入

1 import axios from 'axios'
2 import '@/mock/mock'

使用方法:

1 axios.get('/api/login')
2   .then(res => {
3     console.log(res.data)
4   })
5   .catch(err => {
6     console.log(err)
7   })

console顯示如下:

 

3.為了更真實也可以給指定被攔截的 Ajax 請求的響應時間

在mock.js中添加

1 Mock.setup({
2   timeout: 3000
3 })

可以看到刷新頁面3s之后才有返回。

4.mock.js能支持各種格式的數據,參考官網 http://mockjs.com/

示例中/api/user就用mock.js模擬了隨機返回幾個用戶信息列表的接口。

mock.js完整代碼如下:

 1 import Mock from 'mockjs'
 2 
 3 Mock.setup({
 4   timeout: 1000
 5 })
 6 Mock.mock('/api/login',
 7   {
 8     'message': 'success'
 9   }
10 )
11 
12 Mock.mock('/api/user',
13   {
14     'array|1-10': [
15       {
16         'name': '@cname',
17         'age|20-40': 25,
18         'gender|1': ['male', 'female']
19       }
20     ]
21   }
22 )

 注:這樣的寫法就是導入時執行該js文件,先讓mock的接口生效,后面才能對ajax進行攔截

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM