请参阅下面的解决方案:
我正在尝试连接到Parse.com Rest后端并显示对象值中的数据。
HTML(我进行了几次角度调用以确保捕获输出):
<div ng-controller="MyController"> <p>{{item}}<p> <p>{{items}}<p> <p>{{item.firstName}}<p> <p>{{data}}<p> </div>
JAVASCRIPT休息:
function MyController($scope, $http) { $scope.items = []; $scope.getItems = function() { $http({method : 'GET',url : 'https://api.parse.com/1/classes/Professional/id', headers: { 'X-Parse-Application-Id':'XXXX', 'X-Parse-REST-API-Key':'YYYY'}}) .success(function(data, status) { $scope.items = data; }) .error(function(data, status) { alert("Error"); }); }; }
这是行不通的,它完全不执行任何操作,甚至在控制台中也没有消息。我知道rest调用具有正确的凭据,因为当我使用rest测试器程序对其进行测试时,我能够获得返回的对象内容。也许网址不应该是绝对的?任何线索都非常受欢迎,我已经花了几天的时间。
解:
多亏了回答这个问题的人们的帮助,我才找到了解决这个问题的方法,所以我只想回馈一下:
从Parse.com后端获取Json对象数据,并向其传递身份验证参数:
function MyController($scope, $http) { $scope.items = []; $scope.getItems = function() { $http({method : 'GET',url : 'https://api.parse.com/1/classes/Professional', headers: { 'X-Parse-Application-Id':'XXX', 'X-Parse-REST-API-Key':'YYY'}}) .success(function(data, status) { $scope.items = data; }) .error(function(data, status) { alert("Error"); }); };
注意,’‘是必需的arround标头键对象值。方法和url键周围不需要那些’‘。
列出每个对象的所有“名字”的模板:
<div ng-controller="MyController" ng-init="getItems()"> <ul> <li ng-repeat="item in items.results"> {{item.firstName}} </li> </ul> </div>
注意:“ item.item.results”。“结果”是必要的,因为返回值是一个JSON对象,其中包含一个结果字段,该结果字段带有一个列出对象的JSON数组。这可以为您节省一些头痛。还要注意“ ng-init”:如果您不输入该内容或对getItem()进行任何其他形式的调用,则将不会发生任何事情,并且不会返回任何错误。
那是我第一次尝试Angularjs,而我已经恋爱了^^。
根据您的要求,控制器应为:
的HTML
<div ng-controller="MyController"> <button type="button" ng-click="getItems()">Get Items</button> <ul> <li ng-repeat="item in items"> item.firstName </li> </ul> </div>
JS
function MyController($scope, $http) { $scope.items = [] $scope.getItems = function() { $http({method : 'GET',url : 'https://api.parse.com/1/classes/Users', headers: { 'X-Parse-Application-Id':'XXXXXXXXXXXXX', 'X-Parse-REST-API-Key':'YYYYYYYYYYYYY'}}) .success(function(data, status) { $scope.items = data; }) .error(function(data, status) { alert("Error"); }) } }