gpt4 book ai didi

javascript - 无法完成 .getJSON 请求?

转载 作者:行者123 更新时间:2023-11-30 13:14:44 26 4
gpt4 key购买 nike

首先,这是我要完成的跨域请求。这是我用作引用的 Strava API 白皮书的链接。 Strava Wiki

请查看我在下面使用的代码。如果无法使用 jQuery 执行请求,您能否给我一个其他方法的示例? (例如 AJAX)我已经完成了研究,但我承认我的知识还不足以理解为什么请求不起作用。我是否需要在显示警报之前插入一个等待响应的参数,或者这是隐含的?提前致谢!

 <html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery demo</title>
</head>
<body>
<a href="http://jquery.com/">jQuery</a>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("a").click(function(event){
$.getJSON('http://www.strava.com/api/v1/segments/637215', function(data) {
alert(data);
});
});
});
</script>
</body>
</html>

最佳答案

有关您的解决方案为何无法按预期工作的更多信息,请参阅:Access-Control-Allow-Origin Multiple Origin Domains?

尝试使用 .ajax 方法代替 dataType: "jsonp":

$.ajax({
url: "http://www.strava.com/api/v1/segments/637215",
dataType: 'jsonp',
success: function(data){
console.log(data);
}
});

运行它会得到以下结果:

{"segment":{"id":637215,"name":"Highway 33 Climb - Matilija Lake to Rose Valley","distance":16779.2,"elevationGain":1101.1,"elevationHigh":1070.9,"elevationLow":289.54,"averageGrade":4.64087,"climbCategory":"1"}}

EXAMPLE

请注意,返回的数据似乎确实有错误,但我能够看到它。 (请在下面查看 Musa 的评论)。

编辑

或者你可以改变:

$.getJSON('http://www.strava.com/api/v1/segments/637215', function(data) {
console.log(data);
});

到:

$.getJSON('http://www.strava.com/api/v1/segments/637215?callback=?', function(data) {
console.log(data);
});

这将导致 .getJSON() 改用 jsonp

如果 URL 包含字符串“callback=?” (或类似的,由服务器端 API 定义),请求被视为 JSONP。

EXAMPLE

关于javascript - 无法完成 .getJSON 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12430198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com