天天看點

Mock.js攔截帶參數的get請求

用Mock.js模拟攔截前端的請求,發現對于post請求能正常攔截,但是對于get請求無法攔截到,網上百度了一下,發現是由于get請求傳遞了參數拼接在了url後面,而Mock.js隻能攔截到不帶參數的url,比如

// 隻能攔截到/api/materialList
Mock.mock('/api/materialList', 'get', {
  'status': '1',
  'errcode': '0',
  'errmsg': '成功',
  'data': {
   }
})
           

這個隻能攔截到 '/api/materialList',如果我傳了參數,比如 '/api/materialList?type=1',隻要不是完全比對的就攔截不到,而post請求參數不是拼接在路徑裡的,能夠比對到,是以要麼就是直接不傳參數就可以攔截到,另外如果一定要傳參數則可以加個正則進行比對

Mock.mock(RegExp('/api/materialList' + '.*', 'get', {
  'status': '1',
  'errcode': '0',
  'errmsg': '成功',
  'data': {
   }
})
           

加了正則後重新試過了發現有效了,當然