1

我需要加载 $httpBackend 以模拟 $http 服务器调用(返回 JSON)。我已经定义了自己的模拟,但是当我使用 $httpBackend 和我自己的模拟加载我的 Angular 应用程序时,我收到一个错误:“意外的 GET 请求:pages/main.html。” 现在 main.html 是我的主页;当用户访问我的应用程序时,这是他们看到的第一页。我查看了 $httpBackend 的文档,但没有提到如何设置 $httpBackend 以允许正常的路由行为。我在堆栈溢出中也找不到有关此主题的任何内容。 谷歌群组帖子建议使用方法'passThrough()',但每当我实现此方法时,我都会收到错误消息:“Uncaught TypeError: Object # has no method 'passThrough'”所以我很茫然。

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

4

1 回答 1

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();
});
于 2013-12-06T08:59:09.090 回答