sab*_*ker 1 javascript angularjs
我只想尝试角度.
我想得到一个项目列表并在模板中显示它,现在只是硬编码,并希望看到它如何与ajax一起工作.我没有休息服务器工作,并试图模拟ajax调用.
我刚尝试包括angular mock e2e,但是看起来它也get适用于模板,并引发错误Error: Unexpected request: GET views/main.html
有没有一种简单的方法可以模拟REST请求并让模板与平常一起工作ajax?
这不是单元测试或e2e测试场景,更多是后端较少的开发.我在主应用程序上执行此操作而不是在测试中.
我的app.js看起来像这样
'use strict';
var app = angular
.module('sabithangularApp', [
'ngResource', 'ngMockE2E'
]);
app.run(function ($httpBackend) {
var tasks = [{...},{....},{...}
];
$httpBackend.whenGET('/tasks').respond(tasks);
$httpBackend.whenGET(/^\/templates\//).passThrough();
//...
});
Run Code Online (Sandbox Code Playgroud)
和控制台中的错误看起来像
Error: Unexpected request: GET views/main.html
No more request expected
at $httpBackend (http://127.0.0.1:9000/bower_components/angular-mocks/angular-mocks.js:1177:9)
at sendReq (http://127.0.0.1:9000/bower_components/angular/angular.js:7967:9)
at $http.serverRequest (http://127.0.0.1:9000/bower_components/angular/angular.js:7708:16)
at wrappedCallback (http://127.0.0.1:9000/bower_components/angular/angular.js:11100:81)
at wrappedCallback (http://127.0.0.1:9000/bower_components/angular/angular.js:11100:81)
at http://127.0.0.1:9000/bower_components/angular/angular.js:11186:26
at Scope.$eval (http://127.0.0.1:9000/bower_components/angular/angular.js:12175:28)
at Scope.$digest (http://127.0.0.1:9000/bower_components/angular/angular.js:12004:31)
at Scope.$apply (http://127.0.0.1:9000/bower_components/angular/angular.js:12279:24)
at http://127.0.0.1:9000/bower_components/angular/angular.js:1382:15
Run Code Online (Sandbox Code Playgroud)
你需要添加额外的代码行(在所有其他.whenGET()之下),这样忽略了模拟e2e,如下所示:
$httpBackend.whenGET(/.*/).passThrough();
Run Code Online (Sandbox Code Playgroud)
对于任何其他行都没有匹配的任何(get)请求,这是一个全能.
编辑:
下面的行捕获以'view /'开头的所有请求:
$httpBackend.whenGET(/^views\/.*/).passThrough();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |