我有这样的代码:
JBenchApp.controller('CaseListCtrl', ['$scope',
function ($scope) {
// Case list stuff here
$scope.cases = [
{
'number': '30-2013-0069378-PR-PL-CJC',
'title': 'Baumgartner - Probate',
'sequence': '',
'time': '9:00 am',
'event': 'Petition for Final Distribution',
'event2': ''
},
{
'number': '30-2013-00649408-PR-PL-CJC',
'title': 'Dupaquier - Probate',
'sequence': '',
'time': '9:00 am',
'event': 'Petition - Other',
'event2': ''
},
{
'number': '30-2011-00510275-PR-PL-CJC',
'title': 'Baker - Conservatorship',
'sequence': '',
'time': '9:00 am',
'event': 'Accounting',
'event2': 'Review Hearing'
},
{
'number': '30-2010-00334622-PR-PL-CJC',
'title': 'Montero - Minors Compromise',
'sequence': '',
'time': '9:00 am',
'event': 'Review Hearing',
'event2': ''
},
{
'number': '30-2011-005260282-PR-PL-CJC',
'title': 'Reed - Conservatorship',
'time': '9:00 am',
'event': 'Petition - Other',
'event2': ''
}
];
$scope.departments = [
{
'dept': '1'
},
{
'dept': '1A'
},
{
'dept': '2'
},
{
'dept': '2A',
},
{
'dept': '2B'
},
{
'dept': '2C'
},
{
'dept': '2D'
},
{
'dept': '3'
},
{
'dept': '4'
},
{
'dept': '5'
},
{
'dept': '6'
},
{
'dept': '7'
},
{
'dept': '8'
},
{
'dept': '9'
},
{
'dept': '11'
},
{
'dept': '12'
},
{
'dept': '13'
},
{
'dept': '14'
},
{
'dept': '15'
},
{
'dept': '16'
},
{
'dept': '17'
},
{
'dept': '18'
},
{
'dept': '19'
},
{
'dept': '20'
},
{
'dept': '21'
},
{
'dept': '22'
},
{
'dept': '23'
}
];
}]);
我想将数据移动到外部文件。我现在有一个case.js文件(.json不能在我的本地机器上工作),它有这样的数据:
[
{
'number': '30-2013-0069378-PR-PL-CJC',
'title': 'Baumgartner - Probate',
'sequence': '',
'time': '9:00 am',
'event': 'Petition for Final Distribution',
'event2': ''
},
{
'number': '30-2013-00649408-PR-PL-CJC',
'title': 'Dupaquier - Probate',
'sequence': '',
'time': '9:00 am',
'event': 'Petition - Other',
'event2': ''
},
{
'number': '30-2011-00510275-PR-PL-CJC',
'title': 'Baker - Conservatorship',
'sequence': '',
'time': '9:00 am',
'event': 'Accounting',
'event2': 'Review Hearing'
},
{
'number': '30-2010-00334622-PR-PL-CJC',
'title': 'Montero - Minors Compromise',
'sequence': '',
'time': '9:00 am',
'event': 'Review Hearing',
'event2': ''
},
{
'number': '30-2011-005260282-PR-PL-CJC',
'title': 'Reed - Conservatorship',
'time': '9:00 am',
'event': 'Petition - Other',
'event2': ''
}
];
我已将代码更改为:
JBenchApp.controller('CaseListCtrl', ['$scope', '$http',
function ($scope, $http) {
// Case list stuff here
$http.get('json/cases.js').success(function (response) {
$scope.cases = response;
});
$scope.departments = [
{
'dept': '1'
},
{
'dept': '1A'
},
{
'dept': '2'
},
{
'dept': '2A',
},
{
'dept': '2B'
},
{
'dept': '2C'
},
{
'dept': '2D'
},
{
'dept': '3'
},
{
'dept': '4'
},
{
'dept': '5'
},
{
'dept': '6'
},
{
'dept': '7'
},
{
'dept': '8'
},
{
'dept': '9'
},
{
'dept': '11'
},
{
'dept': '12'
},
{
'dept': '13'
},
{
'dept': '14'
},
{
'dept': '15'
},
{
'dept': '16'
},
{
'dept': '17'
},
{
'dept': '18'
},
{
'dept': '19'
},
{
'dept': '20'
},
{
'dept': '21'
},
{
'dept': '22'
},
{
'dept': '23'
}
];
}]);
我的部分看起来像这样:
<div class="row" ng-show="$parent.loggedin">
<div class="col-sm-12 calselectrow">
<span class="glyphicon glyphicon-calendar calicon"></span>
<input type="text" id="calpick" ng-model="date" jdatepicker />
<a href="#" class="btn btn-primary flat-edge">>></a>
<span class="bluedept">Department:</span>
<select class="selectpicker deptpicker" selectpicker ng-controller="CaseListCtrl">
<option ng-repeat="department in departments">{{department.dept}}</option>
</select>
</div>
</div>
<div class="row" ng-show="$parent.loggedin">
<div ng-controller="CaseListCtrl">
<div class="col-sm-8 col-sm-offset-2 caselist" ng-repeat-start="case in cases track by $index">
<div class="sequence">
<input type=text class="seq-box" size="1" value="{{case.sequence}}" />
</div>
<div class="casetitle">
<a href="/case/{{case.number}}" class="caselink">{{case.number}}</a>
<a href="/case/{{case.number}}" class="btn btn-xs btn-danger calicon-view">
<span class="glyphicon glyphicon-calendar"></span>
</a>
<a href="/case/{{case.number}}" class="btn btn-xs btn-danger calicon-view">
<span class="glyphicon glyphicon-user"></span>
</a>
{{case.title}}
</div>
</div>
<div class="col-sm-8 col-sm-offset-2 caselist-bottom">
<div class="col-sm-9 col-sm-offset-1">
<div class="hearing-time">{{case.time}}</div>
<div class="hearing-title">{{case.event}}</div>
</div>
</div>
<div ng-repeat-end></div>
</div>
</div>
当我运行这个时,我得到了一堆没有数据的行。如果我取出“追踪$ index”,我会收到有关重复键的错误。如何使这项工作显示我的数据?
答案 0 :(得分:0)
此代码不会被解释为javascript,因为这是一个安全问题。您将需要使用jsonp或将此数据作为响应正文中的json返回。
试试这个:
$http({method: 'JSONP', url:<your url> + ?callback=JSON_CALLBACK})
并将您的回复更改为:
JSON_CALLBACK ([your array]);
答案 1 :(得分:0)
答案是JSON无效。我应该使用双引号时使用单引号。我也用分号结束文件,必须省略。当我这样做时,效果很好。