2016-03-17 3 views
0

Я пытаюсь построить простую функцию jQuery, которая извлекает данные JSON из URL-адреса, но я не могу получить какой-либо вывод. Может ли кто-нибудь сказать мне, где я ошибаюсь?

<button id="test">Test</button> 
$(document).ready(function() { 
    $("#test").click(function() { 
     $.getJSON('https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json', function(objDATA) { 
      document.write(objDATA); 
      console.log(objDATA); 
     }); 
    });        
}); 
+2

Проблема CORS см. В ошибке 'XMLHttpRequest не может загрузить https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому Origin 'example.com' не имеет права доступа. ' – Satpal

+0

старайтесь не использовать' document.write', и тогда вы не сможете получить JSON из-за CORS, если запрошенный URL-адрес не совпадает с текущий домен, и он не принимает запрос перекрестного происхождения. – Hacketo

ответ

0

Вполне вероятно, контроль доступа/Allow-Origin то будет расцепления вас здесь. Посмотрите "Нет 'Access-Control-Allow-Origin'"

Это работает:

$('#test').on('click', function() 
{ 
    $.getJSON('https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json&callback=?', function(data) 
    { 
     console.log(data); 
    }); 
}); 

Обратите внимание на добавление & обратного вызова =?

Смежные вопросы