对于询问常见问题的内容感到抱歉,但我似乎无法从以下网址获取数据:http://www.strava.com/stream/segments/860503
我尝试了以下内容:
$(document).ready(function() {
$.ajax({
url: "http://www.strava.com/stream/segments/860503&callback=?",
dataType: "json",
success: function(data) {
$(document.body).append(data.latlng);
}
});
});
和
$(document).ready(function() {
$.getJSON("http://www.strava.com/stream/segments/860503&callback=?", function(data) {
$(document.body).append(data.latlng);
});
)};
但我没有运气。我用“json”和“jsonp”摆弄,加上'& callback =?'到了网址以及SO上建议的其他内容,但无济于事。
非常感谢任何帮助。
答案 0 :(得分:0)
cb
而不是?
。
$(document).ready(function() {
$.getJSON("http://www.strava.com/stream/segments/860503?callback=cb", function(data) {
$(document.body).append(data.latlng);
});
)};
答案 1 :(得分:0)
该特定网址不支持JSONP。它也不通过Access-Control-Allow-Origin
响应头提供对Cross Origin Resource Sharing(CORS)的支持,因此不可能通过ajax直接调用它。
JSONP支持的要求是服务器必须将回调名称作为函数输出,将JSON作为JavaScript对象或数组传递给函数的参数。例如:
myCallback({ ...... });
一种可能的解决方案是通过同一域上的服务器端脚本代理ajax请求,其中交叉源不是服务器到服务器请求的问题。
答案 2 :(得分:0)
来自" http://www.strava.com/stream/segments/860503"的数据没有回调。它不适用于跨域。如果您的脚本在同一台服务器上使用:您可以使用echo $_GET['callback'].'('.json_encode($return) .')';
访问服务器的php
否则尝试使用[php] cURL;
答案 3 :(得分:0)