Strava v3 api JS GET数据

时间:2013-11-01 15:36:49

标签: javascript jquery api

我正在尝试使用strava v3 api获取数据。我是JS的新手。我复制了示例XMLHttpRequest代码,但我得到的只是返回一个空字符串。如果我转到浏览器中的链接manually,它可以正常工作。我也使用jquery尝试了这个,我得到同样的东西。

function reqListener() {
            console.log(this.responseText);
        };

        var oReq = new XMLHttpRequest();
        oReq.onload = reqListener;
        oReq.open("get", "https://www.strava.com/api/v3/athlete/activities?per_page=1&access_token=83ebeabdec09f6670863766f792ead24d61fe3f9", true);
        oReq.send();

有什么想法吗?

编辑:使用jquery。仍然没有工作

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    </head>
    <body>
        <span id="hello">hello</span>
        <script>
            $(document).ready(function() {
                $.getJSON("https://www.strava.com/api/v3/athlete/activities?per_page=1&access_token=83ebeabdec09f6670863766f792ead24d61fe3f9&callback=?", function(data) {
                    $('#hello').html(data);
                });
            });
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

从他们的文件:

  

JSON-P回调

     

指定?callback = function_name参数以请求JSONP   兼容的回应。这与JavaScript库兼容   作为jQuery。

所以我建议你对他们使用jQuery to trigger a JSONP request

$.getJSON( "https://www.strava.com/api/v3/athlete/activities?per_page=1&access_token=yourAccessToken&callback=?", function (data) {
  // your code in here
});

<小时/> 的修改

根据下面的评论:此表单中的callback=?(不替换?)信号给jQuery,这是一个JSONP请求。 jQuery本身会将?更改为回调的某个函数名,这基本上会执行您传递给$.getJSON()的函数。

答案 1 :(得分:0)

您已使用对此进行了标记,因此use jQuery

$.get( "https://www.strava.com/api/v3/athlete/activities?per_page=1&access_token=83ebeabdec09f6670863766f792ead24d61fe3f9", function (results) {
  // use returned results
});