我现在正在编写没有后端Ajax的前端。我正在使用angular-mocks
来模拟API调用,如下所示:
$httpBackend.when('GET', '/somelink').respond(function(method, url, data) {
//do something
});
但是,如果ajax通过
params: {id:12345}
,它将附加到url为'/somelink?id=12345'
。 when('GET', '/somelink')
没捕获有没有办法使用RegEx或一些技巧来解决此问题?这样,不管
params
里面有什么,仍然会调用respond()
?谢谢。
更新1:
我无法使用
.whenGET
,因为我的后端系统也具有POST
和PUT
。所以我需要保持通用性。这两个参数.when('GET', '/somelink')
实际上是我的代码中的变量。由于
'/somelink'
是另一个JSON
中的变量,因此在JSON中使用RegEx /\/somelink/
似乎不起作用。至少那是我现在所看到的。 最佳答案
是的,您可以使用以下正则表达式:
$httpBackend.whenGET(/\/somelink/).respond(function(method, url, data) {
//do something
});
编辑
好的,您可以执行以下操作:
var method = 'GET';
var url = '/somelink';
$httpBackend.when(method, new RegExp('\\' + url)).respond(function(method, url, data) {
//do something
});