【发布时间】:2014-07-07 00:45:58
【问题描述】:
我正在尝试使用 Angular (v1.2.15) 的 $httpBackend 服务,但它只是忽略了我的请求。如您所见,我计划了两种请求,一种用于html 文档,另一种用于REST 请求。但是,当我提出请求时,什么也没有发生。我仍然收到承诺,但永远不会解决。如果我更改了请求并写了一些意想不到的东西,我会失败。
(function (angular) {
'use strict';
angular
.module('testApp', ['ngMockE2E'])
.run(function ($httpBackend, $http) {
$httpBackend.whenGET(new RegExp(".*\/rest\/data$")).respond(function() {
return [200, {title: 1}, {}]
});
$httpBackend.whenGET(new RegExp(".*\\.html$")).passThrough();
$http.get("/rest/data").finally(function() {
console.log("Request mocked");
});
});
}(angular));
编辑:
好的,我将向您展示我调试错误所遵循的步骤:
- 我使用
passThrough函数而不是respond来检查正则表达式是否被正确评估。是的,它发出了真正的请求,显然没有找到响应。 - 在那之后,我检查了在 cmets 中已经解释过的刷新请求,但也收到了来自 angular 的消息,说没有请求。
-
console.log()也不输出任何东西。警报、断点等。
还有其他想法吗?
编辑 2:
问题解决了。猜猜怎么看。我重新启动了 grunt 服务器并直接工作。
稍后我会尝试重现该错误,看看是否必须报告它
【问题讨论】:
标签: javascript angularjs http angular-mock