微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – $httpBackend .whenGet不是Angular中的函数

我正在尝试使用虚拟服务来获取Angular中的数据,我正在使用ngMockE2E,而我的Mock代码如下所示:
(function () {
    "use strict"
    var app = angular
        .module("productResourceMock",["ngMockE2E"]);

    app.run(function ($httpBackend) {
       var products = [
           {
               "productId": 1,"productName": "mobile1","productCode": "heh4","releaseDate": "May 21,2013","description": "very nice mobile","cost": 200,"price": 300,"category": "Electronics","tags": ["mobile","electronic"],"imageUrl": "images/img1.jpg"
           },{
               "productId": 2,"productName": "mobile2",2012","description": "not a nice mobile","cost": 100,"price": 500,"Electronic"],"imageUrl": "images/img2.jpg"
           }];

        var productUrl = "/api/products";
        $httpBackend.whenGet(productUrl).respond(products);
    });

}());

我已经定义了我的控制器,在里面,它有这个代码

(function () {
    "use strict"
    angular
        .module("productManagement")
        .controller("ProductListCtrl",["productResource",ProductListCtrl]);

    function ProductListCtrl(productResource) {
        var vm = this;
        productResource.query(function(data){
         vm.products = data;
        });
    }
}());

对于我发送REST请求的服务,我有这样的代码

(function () {
    "use strict"
    angular
        .module("common.services")
        .factory("productResource",["$resource",productResource]);


    function productResource($resource) {
        return $resource("/api/products/:productId");
    }
}());

我仍然收到此错误:未捕获TypeError:$httpBackend.whenGet不是一个函数.

如有任何帮助,或需要任何澄清,请告诉我.

答案很简单:用whenGET时取代

小心将http动词全部写成大写.

ngMock documentation

原文地址:https://www.jb51.cc/angularjs/141222.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐