如何编写一个angularJs控制器来从Parse.com获取Rest数据

Ben*_*enj 16 javascript rest angularjs

请参阅下面的解

我正在尝试连接到Parse.com Rest后端并显示来自对象值的数据.

HTML(我放了几个角度调用以确保捕获输出):

<div ng-controller="MyController">
    <p>{{item}}<p>
    <p>{{items}}<p>
    <p>{{item.firstName}}<p>
    <p>{{data}}<p>

</div>
Run Code Online (Sandbox Code Playgroud)

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");
            });
    };
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,它什么都没有,甚至在控制台中都没有消息.我知道其余的调用获得了正确的凭证,因为当我用休息测试程序测试它时,我能够获得对象内容.也许URL不应该是绝对的?任何线索都非常受欢迎,我已经花了DAYS.

解:

感谢人们回答这个帖子的帮助,我能够找到解决这个问题的方法,所以我只想回馈:

从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");
            });
    };
Run Code Online (Sandbox Code Playgroud)

请注意''必需的arround标头键对象值.对于方法和网址密钥,这些''不是必需的.

列出每个对象的所有"firstName"的模板:

<div ng-controller="MyController" ng-init="getItems()">
     <ul>
        <li ng-repeat="item in items.results"> {{item.firstName}} </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

注意:"item.results中的项目"."results"是必需的,因为返回值是一个JSON对象,它包含一个带有列出对象的JSON数组的结果字段.这可以为你节省一些头痛.另请注意"ng-init":如果你没有把它或任何其他形式的调用放到getItem(),那么什么都不会发生,你将不会返回任何错误.

这是我第一次尝试Angularjs,我已经爱上了^^.

小智 13

根据您的要求,控制器应该是:

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>
Run Code Online (Sandbox Code Playgroud)

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");
            })
        }
    }
Run Code Online (Sandbox Code Playgroud)