当前位置: 首页 > 面试题库 >

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

黄毅
2023-03-14
问题内容

请参阅下面的解决方案:

我正在尝试连接到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");
            })
        }
    }


 类似资料:
  • 问题内容: 我需要在Angular js中的另一个控制器中调用函数。如何可能的方式请提前帮助我 代码: 问题答案: 控制器之间的通信通过+ / + 方法完成。 因此,在您的情况下,您想在Controller“Two”中调用Controller“One”的方法,执行此操作的正确方法是: 在被调用时,您可以发送任何数据作为第二个参数。

  • 问题内容: 我是Angular的新手,正在尝试弄清楚该怎么做… 使用AngularJS,如何注入要在另一个控制器中使用的控制器? 我有以下片段: 执行此操作时,出现错误: 我是否应该尝试在另一个控制器内部使用一个控制器,还是应该将此服务用作服务? 问题答案: 如果您打算掌握已经实例化的另一个组件的控制器,并且如果您遵循的是基于组件/指令的方法,则始终可以遵循某个层次结构的另一个组件中的控制器(一个

  • 问题内容: 在模块内,控制器可以从外部控制器继承属性: 示例如下: 无效链接 : http : //blog.omkarpatil.com/2013/02/controller-inheritance-in- angularjs.html 模块内部的控制器也可以从同级继承吗? 由于需要将函数用作第一个参数,并且找不到对的引用,因此第二个代码不起作用。 问题答案: 是的,它可以,但是您必须使用该服务

  • 所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。

  • 问题内容: 一个控制器可以使用另一个控制器吗? 例如: 该HTML文档仅在文件中打印由控制器传递的消息。 控制器文件包含以下代码: 它只是打印当前日期; 如果我要添加另一个控制器,它将特定格式的日期返回给,那么该怎么做呢?DI框架似乎与服务有关。 问题答案: 控制器之间有多种通信方式。 最好的一种可能是共享服务: 另一种方法是在范围内发出事件: 在这两种情况下,您都可以与任何指令进行通信。

  • 问题内容: 我有以下两个对等控制器。这些没有父项: 在控制器1中,我想更新由Controller2控制的HTML中的变量xxx的值。有办法吗? 问题答案: 绝对使用服务在控制器之间共享数据,这是一个有效的示例。$ broadcast不是要走的路,您应该避免在有更合适的方式时使用事件系统。使用“服务”,“值”或“常量”(用于全局常量)。 http://plnkr.co/edit/ETWU7d0O8K