1

尝试使用 $httpBackend 为 $.ajax 调用创建模拟。

下面的模拟片段可以正常工作$http.get('/phones')

$httpBackend.whenGET('/phones')

但是当尝试使用相同的

$.ajax({
       url: '/phones',
       type: 'GET'
})

这引发了 '/phones' ajax 调用的 404 错误。

Jsfiddler 链接在这里

4

1 回答 1

4

$httpBackend正如文档的第一行所述,$httpBackend

适用于使用该$http服务的单元测试应用程序的虚假 HTTP 后端实现。

如果您不使用该$http服务,$httpBackend则将不知道该请求,因此将无法拦截它或模拟响应。

您应该始终使用$http- 没有理由$.ajax在 Angular 应用程序中使用。

于 2015-03-05T17:18:38.560 回答