OpenSky-Network - это API для определения местоположения самолетов во всем мире. Замечательно играть с Openlayers-3 ... но! (Потому что есть, но!)API Opensky Network недоступен для доступа к данным
С помощью JavaScript я пытаюсь получить доступ к некоторым переменным данных JSON в this URL
Я действительно заблокирован. Он доступен с простой навигацией в Firefox, а не с JavaScript.
Это кажется действительно глупым, потому что он работает с другими API-интерфейсами, такими как this one или другими, такими как Wikipedia, Wikidata, Nominatim for Openlayers-3.
Я действительно спрашиваю себя, почему это не работает только для OpenSky-Network. Единственное, что я увидел, это то, что Firefox показывает мне проблему между доменами, но я уверен, что есть решение.
я пытался много методов:
Tech1
$.getJSON(url , function(data) {
console.log(data);
});
Tech2
$.ajax({
url: url,
type: 'GET',
success: function(data) {
console.info(data);
}
});
Tech3
$.ajax({
url: url,
dataType: 'jsonp',
crossDomain : true,
success:function(xhr, json){
alert("Success ");
},
error:function(){
alert("Error");
}
});
Tech4
var xhr = null;
var response = null;
if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); }
else { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
xhr.onreadystatechange = function() {
console.info("state changed");
if (xhr.readyState === 4) {
if (xhr.status === 200) {
response = xhr.responseText;
console.info("response="+response);
}
}
else {}
};
xhr.open("GET", url,true);
xhr.send(null);
Со всеми этими и другими методами, я не могу получить данные в формате JSON в Opensky URL-адрес API. Я имею в виду, я хочу использовать его как переменную JavaScript, но я не могу.
Это очень неприятно, потому что в инспекторе (ключ F12 в Firefox) я вижу объект JSON и его значения. Существует политическая проблема «того же происхождения», а затем у меня нет переменной. В чем проблема? Я действительно не могу понять суть концепции политики «того же происхождения», английский - не мой родной язык.
В соответствии с разделом ограничений документария API я могу сделать это без регистрации.
Анонимные пользователи, которые обращаются к API без использования учетных данных. Ограничения для анонимных пользователей являются:
Анонимные пользователи могут получить только самые последние векторы состояния, то есть временной параметр будет проигнорирован.
Анонимные пользователи могут получать данные только с временным результатом 10 секунд.Это значит, API будет возвращать векторы состояния для времени сейчас- (теперь мод 10)
Таким образом, у меня есть несколько вопросов:
Могу ли я получить доступ к переменным в URL API OpenSky-Network с JavaScript?
Почему этот конкретный URL-адрес имеет проблемы?
В чем проблема с политикой «того же происхождения» только для этого URL-адреса?
Очень хорошо, что он работает очень хорошо! Благодаря! – KBill