Работа с JSON на стороннем сервере - PullRequest
0 голосов
/ 10 октября 2018

Я разрабатываю приложение для Android с помощью cordova, мне нужно прочитать файл json по этому адресу: Dati.venezia.it и поместить его в переменную json.Я пытался использовать jQuery getJson, но у меня были проблемы с CORS. Я также пробовал то же самое думать с JSONP, но я не понял, как это работает.Любая помощь будет оценена.

console.log("start");
var url = 'http://dati.venezia.it/sites/default/files/dataset/opendata/livello.json?callback=?';
this.risultato= $.getJSON(url, function(data){

}); 
console.log("end");

, и это была попытка с getJson

$.getJSON('http://dati.venezia.it/sites/default/files/dataset/opendata/livello.json', function (data) {
  console.log(data);

  var items = data.items.map(function (item) {
    return item.key + ': ' + item.value;
  });

  showData.empty();

  if (items.length) {
    var content = '<li>' + items.join('</li><li>') + '</li>';
    var list = $('<ul />').html(content);
    showData.append(list);
  }
});

1 Ответ

0 голосов
/ 10 октября 2018

Вы правы, что можете использовать jsonp в качестве обходного пути.Глядя на Dati.venezia.it, не похоже, что он в настоящее время поддерживает jsonp.Вам нужно, чтобы конечная точка Dati.venezia.it обеспечивала обратный вызов для jsonp для работы.

Кроме того, в конечной точке отсутствует заголовок ответа Access-Control-Allow-Origin, что не позволяет другим сайтам извлекать данные из него без этого заголовка.Вот почему вы сталкиваетесь с проблемами CORS.Если у вас есть контроль над этим веб-сайтом, вам нужно добавить Access-Control-Allow-Origin к его заголовкам ответа.

...