用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': {
}
})
加了正则后重新试过了发现有效了,当然 |