javascript - 尝试从不同邮政编码获取推文时出现问题

标签 javascript html twitter

我正在尝试从不同的邮政编码获取推文。为此,我使用每个邮政编码的纬度和经度值。到目前为止,我想为每个邮政编码获取 3 条推文(我有 2 个邮政编码),但它仅适用于一个邮政编码。 任何建议将不胜感激。预先感谢您!

这是我的代码:

<!DOCTYPE HTML>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

        <script>
            var lat=[41.9716,42.0411];
            var lng=[-87.7026,-87.6900];
            $(document).ready(function() {
            for(var i=1; i<2; i++)
            {
                $.getJSON('http://search.twitter.com/search.json?q=business&geocode='+lat[i]+','+lng[i]+',5mi&lang=en&callback=?', function(data) {
                var data = data.results;
                var html = "";  
                for(var j=0; j<3;j++){
                    html += "<div style='width:600px;border:solid thin blue'><img src='"+data[j].profile_image_url+"'/><a href='http://twitter.com/" + data[j].from_user + "'>@"+ data[j].from_user + "</a>: " + data[j].text + "</div>";
            } 
            $('.content'+i).html(html);
            }); }
            });
    </script>
</head>

<body>
    <div class="content1"></div>
    <div class="content2"></div>
</body>

最佳答案

我发现您的代码有 2 个问题:

1) 如果你想迭代 2 次,你的 for函数应该是这样的:for (var i = 0; i < 2; i++)

2) 您必须考虑到 $.getJSON 中调用的函数异步运行,因此当该函数被调用时 for已经完成,因此您不能使用 i在该函数内具有该目的的值。

因此,在更正代码中的这两件事后,您应该能够得到您想要的东西。尝试这样的事情:

<!DOCTYPE HTML>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

        <script>
            var lat = [41.9716, 42.0411];
            var lng = [-87.7026, -87.6900];
            var count = 1;
            $(document).ready(function () {
                for (var i = 0; i < 2; i++) {
                    $.getJSON('http://search.twitter.com/search.json?q=business&geocode=' + lat[i] + ',' + lng[i] + ',5mi&lang=en&callback=?', function (data) {                        
                        var data = data.results;
                        var html = "";
                        for (var j = 0; j < 3; j++) {
                            html += "<div style='width:600px;border:solid thin blue'><img src='" + data[j].profile_image_url + "'/><a href='http://twitter.com/" + data[j].from_user + "'>@" + data[j].from_user + "</a>: " + data[j].text + "</div>";
                        }
                        $('.content' + count++).html(html);
                    });
                }
            });
    </script>
</head>

<body>
    <div class="content1"></div>
    <div class="content2"></div>
</body>
</html>

关于javascript - 尝试从不同邮政编码获取推文时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535554/

相关文章:

java - 识别一段时间内的趋势 (Java)

javascript - 如何在带有 django 后端的单页应用程序上实现 twitter oauth2

javascript - 未捕获的类型错误 : cannot read property cookie of undefined

javascript - 如何根据具体值使用 Vue.js 2 检查复选框?

html - 在模态中设计表格

javascript - 如何滚动到 div 内的元素?

javascript - 如何从js数组中获取json对象

javascript - 了解 Javascript 的 Module Require 语法

javascript - jQuery hasClass() 方法未返回正确的值

c# - 如何向目标用户发送推文?