mock.js拦截带参数的get请求


在我们使用mock.js拦截带参数的get请求时候,使用以下方式往往会失效。因为get请求会把参数显示的放在URL中。


Mock.mock("/getinfo", "get", mockData)

在调用getinfo接口时,我们实际的URL可能是/getinfo?id=1&type=2...等一长串。

我们可以使用RegExp匹配URL正则表达式"/getinfo" + ".*"匹配所有/getinfo开头的URL。


Mock.mock(RegExp("/getinfo" + ".*"), "get", mockData)

如果有多个类似的接口如/getinfo,/getinfoByType,则可以使用更严格的正则表达式如"/getinfo?" + ".*""/getinfoByType?" + ".*"
也可以在生成响应数据的函数function(options)中根据URL不同来返回不同响应数据。


Mock.mock(RegExp('/getinfo?' + ".*"), "get", function(options){
        // 处理URL根据URL不同返回响应数据
	console.log(options.url);
	return Mock.mock(mockData);
});


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM