Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用角度和Odata的第一个JayData查询_Javascript_Angularjs_Asp.net Web Api_Odata_Jaydata - Fatal编程技术网

Javascript 使用角度和Odata的第一个JayData查询

Javascript 使用角度和Odata的第一个JayData查询,javascript,angularjs,asp.net-web-api,odata,jaydata,Javascript,Angularjs,Asp.net Web Api,Odata,Jaydata,我试图使用JayData和Angular显示来自ODataWebAPI控制器的数据。我已经成功地到达了数据在Firebug中返回的阶段,但是我无法将数据输入到我的控制器或视图中 这是我的app.js: var app = angular.module("app", ["localization", "ngResource", "ngRoute", "jaydata"]). config(function ($routeProvider, $locationProvider) {

我试图使用JayData和Angular显示来自ODataWebAPI控制器的数据。我已经成功地到达了数据在Firebug中返回的阶段,但是我无法将数据输入到我的控制器或视图中

这是我的app.js:

var app = angular.module("app", ["localization", "ngResource", "ngRoute", "jaydata"]).
    config(function ($routeProvider, $locationProvider) {
        $routeProvider.
            when('/Admin/Stages/List', { templateUrl: '/Content/Templates/Stages.html' }).
            otherwise({ redirectTo: 'Admin/Teams/List', templateUrl: '/Content/Templates/Teams.html' });
        $locationProvider.html5Mode(true); //will use html5 mode rather than hashbang where available
    });

var StageListController = function ($scope, $data) {

    $scope.stages = [];

    $data.initService('http://lj.cloudapp.net/odata')
    .then(function (lj) {
        $scope.lj = lj;
        $scope.stages = lj.Stages.toLiveArray();
    });
};
这是我的模板:

<table class="table table-striped table-condensed table-hover">
<thead>
    <th>
        Stage Id
    </th>
    <th>
        Stage Name
    </th>
</thead>
<tbody>
    <tr ng-repeat="stage in stages | filter:search:StageName | orderBy:'StageId'" id="stage_{{stage.id}}">
        <td>{{stage.StageId}}</td>
        <td>{{stage.StageName}}</td>
    </tr>
</tbody>
})

编辑2:


从datajs 1.1.1切换到1.0.3似乎可以解决此问题

从datajs 1.1.1切换到1.0.3似乎可以解决此问题

您的问题是什么?为什么$scope.stages没有填充?我可以修改代码中的任何内容来访问Odata控制器返回的数据吗?如果您要查看代码审阅,可以查看代码审阅站点。如果有特定的问题或错误,您可能会在这里获得更多帮助。尝试简化它并将日志记录到其中。开始看起来不错。
    <div data-ng-app="app">
    <div class="container" ng-controller="StageListController">
            <div ng-view></div>
        </div>
    </div>

@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
<script src="@Url.Content("~/Scripts/datajs-1.1.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/angular.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/angular-resource.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/angular-route.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/localize.js")" type="text/javascript"></script>
<script src="http://include.jaydata.org/jaydata.js"></script>
<script src="http://include.jaydata.org/jaydatamodules/angular.js"></script>
<script src="@Url.Content("~/Scripts/angular/app.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/angular/lj.js")" type="text/javascript"></script>
var StageListController = function ($scope, $data) {

$scope.stages = [];

$data.initService('http://lj.cloudapp.net/odata')
.then(function (context) {
    alert(context);
    $scope.context = context;
    $scope.stages = context.Stages.toArray().then(function (stage) {
        console.log("stage[10] is:");
        console.log(stage[10]);
        stage.forEach(function (p) {
            console.log(stage.StageName);
        });
    })

      .fail(function (r) {
          console.log(r);
      });
});