我的背景不是网络开发,所以我的术语可能不正确,抱歉。
简而言之,我很难弄清楚在哪里$httpBackend
提供数据。这个问题既是关于寻找修复的问题,也是关于更好地理解$httpBackend
一般情况下的工作原理。这里有更多细节。
我正在使用 AngularJS 创建一个单页应用程序。作为播种者,我正在使用他们网站上的 AngularJS“电话目录”示例项目,该项目使用 npm 和 bower。
我将需要该应用程序来访问一些 RESTful Web 服务,目前我想模拟这些服务。我遇到了我现在正在使用的 ngMockE2E。因此,我现在不仅在我的 index.html 中加载主 app.js,还加载了 devapp.js,它具有我的应用程序和 ngMockE2E 作为依赖项:
var devapp = angular.module('devapp', ['app', 'ngMockE2E']);
.
在devapp
我内部模拟我的网络服务,如下所示:
devapp.run(function($httpBackend) {
var items = [{{"id": 1, "price": 5}, {"id": 2, "price": 10}}];
$httpBackend.whenGET('/json/items').respond(items);
// let all other requests through to app
$httpBackend.whenGET(/^\w+.*/).passThrough();
});
现在,当我运行我的应用程序并构建$http
向 /json/items 发送调用的服务时,一切正常。
但我想在我的实际浏览器中查看输出。由于某种原因,我似乎无法找到网址!
当我转到时,我的 index.html 就会启动localhost:8000/app/
,并且我的部分地址的大多数地址看起来像localhost:8000/app/#/login
等等。但是我必须去哪里获取我的假的 JSON 格式$httpBackend
?
我尝试localhost:8000/json/items
了它给了我“不可用”和localhost:8000/app/#/json/items
or localhost:8000/app/json/items
,它只是将我发送到我的 index.html 没有加载任何部分,我已经尝试了我能想到的所有组合。