是否可以为$ httpBackend响应设置通配符?

时间:2013-12-30 21:23:00

标签: javascript angularjs

假设我在AngularJS中有以下测试代码:

var someURL;
var dummyJSON;
$httpBackend.whenGET(someURL).respond(dummyJSON);

有没有办法让这个对一组网址的响应而不仅仅是一个? 例如,我希望它以对于以/ api /开头的任何url使用相同的虚拟JSON,而不是以/ app /开头。像通配符URL(“/ app / *”)?

感谢您的帮助

2 个答案:

答案 0 :(得分:7)

我对whenGET(/^\/api\//)这样的表达式很幸运 - 这意味着以/api/开头。在正则表达式中,^将匹配字符串的开头,\/将匹配网址中的文字/

如果这与您的请求不符,请尝试whenGET(/\/api\//),它应与绝对网址和相对网址相匹配。

答案 1 :(得分:4)

如果您不想处理正则表达式,也可以使用函数。类似的东西:

$httpBackend.when("GET", function(url) {return url.indexOf("/api/") === 0;}