我正在尝试使用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>
答案 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)
您已使用jquery对此进行了标记,因此use jQuery:
$.get( "https://www.strava.com/api/v3/athlete/activities?per_page=1&access_token=83ebeabdec09f6670863766f792ead24d61fe3f9", function (results) {
// use returned results
});