$ httpBackend阻止正常的角度路由;如何配置$ httpBackend以允许正常的路由行为?

时间:2013-11-08 16:16:06

标签: angularjs angularjs-directive angularjs-scope

我需要加载$ httpBackend以模拟$ http服务器调用(返回JSON)。我已经定义了自己的模拟,但是当我用$ httpBackend和我自己的模拟加载我的角度应用程序时,我收到一个错误:“意外的GET请求:pages / main.html。”现在main.html是我的主页;当用户访问我的应用时,这是他们看到的第一页。我查看了the docs for $httpBackend,但没有提到如何设置$ httpBackend以允许正常的路由行为。我也找不到关于这个主题的堆栈溢出。 A google groups post建议使用方法'passThrough()',但每当我实现此方法时,我都会收到错误:“未捕获TypeError:对象#没有方法'passThrough'”所以我不知所措。

有谁知道如何设置$ httpBackend以允许正常的路由行为?

1 个答案:

答案 0 :(得分:3)

这就是我解决它的方式

var app = angular.module('App');

app.run(function($httpBackend) {

  var mockData = {
    "id":"492",
    "title":"Agreement",
   };

  // respond with mockdata on all request for /api/frontend/*
  $httpBackend.whenGET(/\/api\/frontend\//).respond(mockData); 

  // pass trough all GET requests to api/backend and so on, that havent been catched
  // in another $httpBackend.whenGET rule
  $httpBackend.whenGET().passThrough();
});