2015-09-04 3 views
0

Я совершенно не знаком с JavaScript/jQuery, так как хороший проект HelloWorld я хотел создать веб-страницу, которая просто захватывает случайную статью в Википедии и показывает заголовок и первый абзац. Погуглить вокруг, это выглядит как Ajax является способ сделать это, так что я написал простой скрипт (с фиксированным URL на данный момент):Нет ответа сервера из Википедии через Ajax

<script> 
    $(document).ready(function() { 
     $.ajax({ 
      url: 'https://en.wikipedia.org/wiki/Flemingdon_Park', 
      type: 'GET', 
      dataType: "html", 
      success: function (data) 
      { 
       alert('Success!'); 
       $('#MainHeader').html($(data).find('#firstHeader').html()); 
      }, 
      error: function (xmlHttpRequest, textStatus, errorThrown) 
      { 
       var serverNotReached = xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0; 
       if (serverNotReached) 
        alert("No response from the server!"); 
       else 
        alert(errorThrown); 
      } 
     }); 
    }) 
</script> 

Моя проблема заключается в том, что я только никогда не получить «Нет ответа от сервер "из Википедии. Я попытался сделать GET с Postman и тем же URL-адресом, и я вернул html, как я ожидал. Затем я попробовал сценарий с http://stackoverflow.com, но то же самое. Наконец, я попробовал http://www.msn.com и что сделал работа. Я предполагаю, что здесь есть что-то фундаментальное, но я не уверен, что.

+3

Я получил заголовок «Нет» Access-Control-Allow-Origin »на запрошенном ресурсе». См. [Этот пост] (http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource) для получения дополнительной информации. – showdev

+1

Также => хром упакованные приложения (например, почтальон) могут иметь перекрестные права доступа, поэтому он работает там – cviejo

+3

https://en.wikipedia.org/w/api.php - это то, что вы действительно ищете. – kay

ответ

0

http://en.wikipedia.org/w/api.php - это то, что вы ищете. Она имеет очень разработанную документацию и поддерживает JSONP:

Изменить format=jsonfmformat=json.

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