尝试使用 $httpBackend 为 $.ajax 调用创建模拟。
下面的模拟片段可以正常工作$http.get('/phones')
$httpBackend.whenGET('/phones')
但是当尝试使用相同的
$.ajax({
url: '/phones',
type: 'GET'
})
这引发了 '/phones' ajax 调用的 404 错误。
Jsfiddler 链接在这里。
尝试使用 $httpBackend 为 $.ajax 调用创建模拟。
下面的模拟片段可以正常工作$http.get('/phones')
$httpBackend.whenGET('/phones')
但是当尝试使用相同的
$.ajax({
url: '/phones',
type: 'GET'
})
这引发了 '/phones' ajax 调用的 404 错误。
Jsfiddler 链接在这里。
$httpBackend正如文档的第一行所述,$httpBackend是
适用于使用该
$http服务的单元测试应用程序的虚假 HTTP 后端实现。
如果您不使用该$http服务,$httpBackend则将不知道该请求,因此将无法拦截它或模拟响应。
您应该始终使用$http- 没有理由$.ajax在 Angular 应用程序中使用。