带有AngularJS的Microsoft Azure - 数据未显示在图表中

时间:2015-03-31 18:06:45

标签: json angularjs azure

我能够在本地查看数据,但是当我打开Windows Azure云服务应用程序时,不再有Json数据传递到我的图表(http://dashboardexample.cloudapp.net/Home/Product)。我在控制台中收到一条消息说"控制器名称应以大写字符开头,并以后缀Controller结束。例如:UserController。 模块名称的最佳实践是使用lowerCamelCase。检查" dx"的名称。"不确定导致此问题的原因。有什么想法吗?

AngularJS

var app = angular.module('customCharts', ['dx']);

app.controller("ChartController", function ($scope, $http, $q) {
    $scope.productSettings = {
        dataSource: new DevExpress.data.DataSource({
            load: function () {
                var def = $.Deferred();
                $http({
                    method: 'GET',
                    url: 'http://localhost:53640/Home/PostChart'
                }).success(function (data) {
                    def.resolve(data);
                });
                return def.promise();
            }
        }),
        series: {
            title: 'Displays Product Costs for items in our Database',
            argumentType: String,
            argumentField: "Name",
            valueField: "Cost",
            type: "bar",
            color: '#008B8B'
        },
        commonAxisSettings: {
            visible: true,
            color: 'black',
            width: 2
        },
        argumentAxis: {
            title: 'Items in Product Store Database'
        },
        valueAxis: {
            title: 'Dollor Amount'
        }
    }
})

HTML

<script type="text/javascript" src="~/Scripts/angular.js"></script>
<script type="text/javascript" src="~/Scripts/angular-sanitize.js"></script>
<script type="text/javascript" src="~/Scripts/globalize/globalize.js"></script>
<script type="text/javascript" src="~/Scripts/dx.chartjs.js"></script>
@Scripts.Render("~/Scripts/ChartDesign.js")

<div ng-app="customCharts">
    <div ng-controller="ChartController">
        <div dx-chart="productSettings"></div>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

正如GauravMantri所提到的,您需要参考控制器功能的名称和位置。例如:我必须在我的dataSource网址中引用/ Home / PostChart。这解决了这个问题。

<强> AngularJS     var app = angular.module(&#39; customCharts&#39;,[&#39; dx&#39;]);

app.controller("ChartController", function ($scope, $http, $q) {
    $scope.productSettings = {
        dataSource: new DevExpress.data.DataSource({
            load: function () {
                var def = $.Deferred();
                $http({
                    method: 'GET',
                    url: '/Home/PostChart'
                }).success(function (data) {
                    def.resolve(data);
                });
                return def.promise();
            }
        }),
        series: {
            title: 'Displays Product Costs for items in our Database',
            argumentType: String,
            argumentField: "Name",
            valueField: "Cost",
            type: "bar",
            color: '#008B8B'
        },
        commonAxisSettings: {
            visible: true,
            color: 'black',
            width: 2
        },
        argumentAxis: {
            title: 'Items in Product Store Database'
        },
        valueAxis: {
            title: 'Dollor Amount'
        }
    }
})