0

谁能指出任何错误?我基本上对所有这些都是新手,我一直在使用 angularJS 教程、API 和其他一些资源来尝试将这些都拼凑在一起,但运气并不好。忽略关于标签的部分,它还没有做任何事情。代码应该做的是响应第一个输入标签中的输入。在那里输入的任何内容 (nameQuery) 都连接到用于访问 API 的字符串中,然后我获取该信息并将其存储在 $scope.userID 中,然后我使用 userID 获取 userData 和图像列表,以便我可以打印它们。但它不起作用,我已经研究了一段时间,并没有任何线索。希望有经验的程序员能帮帮我!

HTML 文件:

<!doctype html>
<html ng-app>

    <head>
        <meta charset="utf-8" />
        <title>Insta-Visualizer</title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
         <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
         <script src="script.js"></script>

    </head>

    <body ng-controller="ImageCtrl">

        <div id="wrapper">

            <div id="header">
            <span class="title">Instagram Visualizer</span>
            </div>

            <div id="body">

                <div class="border">

                    <div id="search1">
                        Username <input ng-model="nameQuery">
                    </div>

                    <div id="search2">
                        Hashtag <input ng-model="hashtagQuery">
                    </div>

                </div>

                <div class="border">
                    <ul class="images">
                        <li ng-repeat="picData in imageList">
                            <img ng-src="{{picData.images.low_resolution}}"/>
                        </li>
                    </ul>
                </div>

            </div>

        </div>
    </body>
</html>

脚本:

var token = '1502600.bcf60cd.2ddf423a61534720beafdae05c4cf26f';

function ImageCtrl($scope, $http){

    var searchURL = 'https://api.instagram.com/v1/users/search?q=' + nameQuery
               + '&access_token=' + token;

    $http.get(searchURL).success(function(data) {
        $scope.userID = data.data.id;
    });

    var userDataURL = 'https://api.instagram.com/v1/users/' + $scope.userID
                      + '/media/recent/?access_token=' + token;

    $http.get(userDataURL).success(function(data) {
        $scope.userData = data;
        $scope.imageList = $scope.userData.data;
    });            

};
4

2 回答 2

2

明显错误:

  1. nameQuery是不绑定的$scope
  2. 您正在提出两个请求,但没有获得所需的所有信息。
  3. 您正在执行跨域请求而不使用 jsonp 方法。

您是否阅读过有关在 AngularJS 中使用 REST 服务的教程?

于 2013-07-09T00:35:22.483 回答
0

我建议从更简单的东西开始,例如 iTunes API。这是我在 Hacker News上看到的一篇关于如何使用 Angular JS 发出异步 http 请求的简单示例/文章。

于 2013-10-22T00:08:20.463 回答