我有以下代码在我的开发环境中模拟“App”的响应:
<script>
var AppDev = angular.module('AppDev', ['App', 'ngMockE2E' ]);
AppDev.run(function($httpBackend) {
$httpBackend.whenGET('/api/call').respond({"somekey" : "5000"});
//$httpBackend.whenGET('/api/call').respond(422, { 13 : "oh shit!"});
//$httpBackend.whenGET('/api/call').respond(500, "my error text");
});
</script>
我想以某种方式使这个开关,基于外部输入,如该页面中的点击来设置url哈希。
我该怎么做?
答案 0 :(得分:1)
respond()
方法也可以将一个函数作为参数,并将请求url传递给函数,这样你就可以解析url并用它做任何你想做的事情。例如:
$httpBackend.whenGET(/^\/api\/call.*/).respond(function(method, url, data, headers) {
/*
* The request URL is available, so you can do whatever you want, such as the
* following:
*/
if (url matches condition 1) {
return [200, {"somekey" : "5000"}];
} else if (url matches condition 2) {
return [422, { 13 : "Oops"}];
} else {
return [500, "my error text"];
}
});