$http未为umbraco定义

5q4ezhmt  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(164)

我是angular的新用户,我使用的是umbraco中的以下代码,它正在连接到使用c#构建的服务。
如果需要,我可以提供c#代码。
我正在学习的教程要求我添加这段代码,我相信遗漏了一些东西,但我不知道是什么。可能是因为我使用的是较新版本的umbraco,而本教程使用的是稍旧的版本。
下面是我的.js文件中的完整代码

(function () {
    'use strict';
    var app = angular.module('orders');
    app.factory('dashboardService', ['$q', service]);

    function service($q) {
        return { getTop5ProductData: getTop5ProductData, getDailySalesData: getDailySalesData };

        function getTop5ProductData() {
            return $http.get('/backoffice/orders/salesapi/top5').then(
                function (response) {
                    return response.data;
                },

                function () {
                    notificationsService.error('Error getting top 5 products');
                });
        }
        //function getTop5ProductData() {
        //    var modifier = Math.random() * 3;
        //    return $q.when([
        //        { productName: 'Apples', value: Math.round(200 / modifier) },
        //        { productName: 'Oranges', value: Math.round(170 / modifier) },
        //        { productName: 'Banannas', value: Math.round(160 / modifier) },
        //        { productName: 'Cherries', value: Math.round(100 / modifier) },
        //        { productName: 'Nuts', value: Math.round(95 / modifier) }
        //    ]);
        //}

        function getDailySalesData() {
            var modifier = Math.random() * 3;
            return $q.when([
                { day: 1, value: Math.round(130 / modifier) },
                { day: 2, value: Math.round(100 / modifier) },
                { day: 3, value: Math.round(140 / modifier) },
                { day: 4, value: Math.round(90 / modifier) },
                { day: 5, value: Math.round(110 / modifier) },
                { day: 6, value: Math.round(100 / modifier) },
                { day: 7, value: Math.round(80 / modifier) },
                { day: 8, value: Math.round(150 / modifier) },
                { day: 9, value: Math.round(10 / modifier) },
                { day: 10, value: Math.round(90 / modifier) }
            ]);
        }
    }
}());

问题在于方法gettop5productdata(此方法连接到web服务)。注解掉的同名方法与预期效果相同。
我得到的第一个错误是
angular.min.js?cdv=1:63引用错误:$http未定义
位于object.gettop5productdata(dashboard.service.js?cdv=1:10)
我现在将方法更改为

function getTop5ProductData($http) {....

但是我得到了
typeerror:无法读取未定义的属性“get”
我提议 $http 变量,但该变量具有类似的错误消息,即使我将该声明放在其他位置,我也会有类似的错误。
有人能看出我做错了什么或我遗漏了什么吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题