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

尝试使用jQuery访问Instagram API

彭畅
2023-03-14
问题内容

我正在尝试使用Instagram API,并在do-
while循环中发出AJAX请求,直到next_url为空。我想要这段代码要做的就是通过发出连续的请求来获取所有关注者,直到完成为止。该代码有什么问题?

当我删除do-
while循环时,它不会给我一个错误,但是一旦我在循环中使用AJAX请求,它就永远不会停止。显然,$next_urlhtml" target="_blank">字符串没有更改为新获取的字符串next_url-为什么?怎么了?

$(document).ready(function(e) {
        $('#fetch_followers').click(function(e) {
            var $next_url = 'https://api.instagram.com/v1/users/{user-id}/followed-by?access_token={access-token}&count=100';
            var $access_token = '{access-token}';
            var $is_busy = false;
            var $count = 0;
            do {
                while($is_busy) {}
                $.ajax({
                    method: "GET",
                    url: $next_url,
                    dataType: "jsonp",
                    jsonp : "callback",
                    jsonpCallback: "jsonpcallback",
                    success: function(data) {
                        $is_busy = true;
                        $.each(data.data, function(i, item) {
                            $("#log").val($("#log").val() + item.id + '\n');
                        });
                        $("#log").val($("#log").val() + data.pagination.next_url + '\n');
                        $next_url = data.pagination.next_url;
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        $is_busy = true;
                        //alert("Check you internet Connection");
                        $("#log").val($("#log").val() + 'Error\n');
                    },
                    complete: function() {
                        ++$count;
                        $is_busy = false;
                    }
                });
            } while($next_url !== '' || $count <= 50);
        });
    });

在逻辑失败后,我添加了$count可以中断do-while循环的变量,因为do-while循环无限运行。添加后,它仍然可以无限运行,我也不知道为什么。


问题答案:

在新的url作为参数的情况下,在ajax成功回调中调用函数本身:

$(document).ready(function() {
    $('#fetch_followers').click(function() {
        var $access_token = '{access-token}';
        pollInstagram('https://api.instagram.com/v1/users/{user-id}/followed-by?access_token={access-token}&count=100');
    });
});

function pollInstagram(next_url, count) {
    $.ajax({
        method: "GET",
        url: next_url,
        dataType: "jsonp",
        jsonp: "callback",
        jsonpCallback: "jsonpcallback",
        success: function(data) {
            $.each(data.data, function(i, item) {
                $("#log").val($("#log").val() + item.id + '\n');
            });
            $("#log").val($("#log").val() + data.pagination.next_url + '\n');

            // If the next url is not null or blank:
            if( data.pagination.next_url && count <=50 ) {
                pollInstagram(data.pagination.next_url, ++count);
            }
        },
        error: function(jqXHR, textStatus, errorThrown) {
            //alert("Check you internet Connection");
            $("#log").val($("#log").val() + 'Error\n');
        }
    });
}​


 类似资料:
  • 我正在尝试一些简单的方法,使用FetchAPI从应用程序前端发出请求,如下所示 我在服务器上像这样处理这个请求, 但是,当我尝试访问前端console.log(响应)上的数据时,会得到以下对象 响应主体为空。我想那就是数据显示的地方?如何有效地从服务器传递数据?

  • 问题内容: 我遇到了一个例外,但找不到原因。 我得到的例外是: :尝试访问方法; 从B类 该方法是公开的。 我正在使用Tomcat 5.5.12和JAVA 1.6 问题答案: 几乎可以肯定,您在运行时使用的类版本与您期望的版本不同。特别是,运行时类将不同于您针对其进行编译的类(否则将导致编译时错误)-该方法曾经存在private吗?您的系统上任何地方都有类/ jar的旧版本吗? 作为状态的java

  • 你好,我正在尝试创建一个类,它使用从学生类到研究生类的继承,但程序说它是不可访问的。 程序应该打印出一个初始化的GraduateStudent类变量,调用printStudent();

  • 我得到: 错误:(37,30)Java:无法访问未找到java.util.function.function的java.util.function.function类文件 指向“等待”

  • 我带着一个我无法解决的问题来到这里。 我在版本1.7中有一个prestashop,我已经移动到另一台服务器,值得一提的是,在旧服务器中,prestashop运行良好。 当我将prestashop迁移到新服务器时,除了我想进入后台,当我想进入后台时,只需将页面留空,其他一切都可以正常工作。 我已经激活了调试模式,但它没有给我任何与后台相关的错误,有趣的是,当调试模式被激活时,我可以毫无问题地进入后台

  • 我在写spring应用程序。我在我的项目中加入了招摇过市,但不知何故它无法正常运行。我的项目中也有带令牌的承载身份验证。请告诉我如何解决这个问题