2015-03-31 75 views
2

我能够在本地查看数据,但是当我打开Windows Azure云服务应用程序,不再有JSON数据传递到我的图表(http://dashboardexample.cloudapp.net/Home/Product)。我在控制台中收到一条消息:“控制器名称应该以大写字母开头,并以后缀控制器结尾,例如:UserController。 模块名称的最佳实践是使用lowerCamelCase,检查名称”dx“。不确定是什么导致了这个问题。有什么想法吗?微软Azure与AngularJS - 数据未显示在图表

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

您仍然在此处调用'localhost'而不是'http:// dashboardexample.cloudapp.net':'url:'http:// localhost:53640/Home/PostChart''。 – 2015-03-31 18:12:20

+0

好的,一秒钟,我会测试它。 – Tim 2015-03-31 18:15:47

+0

嗯,由于某种原因,仍然没有数据。我想知道它是否与Windows Azure中的权限有关,无法传入我的Json对象... – Tim 2015-03-31 18:20:49

回答

0

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

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: '/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' 
     } 
    } 
})