我遇到API问题

时间:2017-08-25 21:49:39

标签: javascript ajax api

我在使这个API工作时遇到了问题。

我在Google财经API中使用了相同的代码,效果非常好。问题是我只能获得少量股票,从长远来看,我需要通过(如果可能的话)运行12000只股票。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
    var temp = [];
    $(document).ready(function(){
        stockInformation();
        setInterval(stockInformation, 5000);
    });
    function stockInformation()
    {
        $.ajax({
            url:"https://api.website.com/public/user/token/stock/SDRL/quote",
            dataType:"jsonp",
            jsonp:"callback",
            jsonpCallback:"quote"
        });
        var i = 0; var j = 0;var status = "";
        quote = function(data){
            var output = "<table>"
            $.each(data, function(key, value){
                if (value.l_cur > temp[j])
                    status = "<td style=color:green>Up</td>";
                else if (value.l_cur < temp[j])
                    status = "<td style=color:red>Down</td>";
                else
                    status = "<td>Same</td>";
                j++;
                output += "<tr><td>" + value.t + "</td><td>" + value.l_cur + "</td>" + status + "</tr>";
                temp[i] = value.l_cur;i++;
            })
            output += "</table>";
            $("#result").html(output);
        }
    }
</script>

<div id="result"></div>

这是API返回的内容(不是上面的代码):

{"timestamp":"1503691321","datetime":"2017-08-25 16:02:01 (UTC)","price":"6.17","price change":"0.12","price pct change":"1.98","open":"6.09","volumn":"1852887","low":"6.00","high":"6.22","currency":"USD"}

1 个答案:

答案 0 :(得分:1)

许多googles api限制了您在给定时间内可以提出的请求数量。有时甚至每月低至50,具体取决于api和请求的类型。在您的代码中使用api的方式看起来没有任何问题。 你可以通过分页来解决这个问题。一次从30开始,然后当您的用户点击下一个按钮或滚动到页面末尾然后进入下一个30。