читать содержимое URL википедии, используя jquery, междоменный сетевой вызов - PullRequest
2 голосов
/ 26 июня 2010
   jQuery.ajax(
    {
      url:'http://en.wikipedia.org/wiki/Football',
      type:'get',
      dataType:'jsonp',
      success:function(data){alert(data);},
    }

Я хочу прочитать страницу Википедии с моего домена, используя jQuery, я делаю как выше. Как и ожидалось, википедия отправляет данные в виде чистого html, но когда мы используем $ .ajax для получения междоменных данных, она ожидает, что полученные данные будут в формате json, поэтому я получаю ошибку и не могу прочитать ответ википедии.

, пожалуйста, предложите мне, как я могу прочитать URL википедии, используя jquery / javascript (без участия каких-либо технологий на стороне сервера), также есть ли API, через который я могу получить json из Википедии.

Ответы [ 3 ]

7 голосов
/ 18 ноября 2010

Существует API Wikipedia (точнее, MediaWiki, движок Wikipedia, имеет API). Подробнее об этом вы можете прочитать здесь: http://www.mediawiki.org/wiki/API

Вот пример jQuery о том, как получить отформатированное содержимое страницы «Футбол»:

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {page:"Football", prop:"text"}, function(data) {console.log(data);});
3 голосов
/ 26 июня 2010

Конечная точка должна быть настроена для обслуживания jsonp, что в данном случае не так. Он не будет магически преобразовывать обычный тип ответа html в jsonp для вас. Вам нужно будет создать прокси на вашем сервере, который будет обслуживать вас удаленным контентом, например, если вы используете php, проверьте эту ссылку .

1 голос
/ 24 июля 2010

Вы можете использовать YQL для выборки страниц и получить ответ JSONP .

http://developer.yahoo.com/yql/console/#h=select%20*%20from%20html%20where%20url%3D%22http%3A//en.wikipedia.org/wiki/Football%22%0A

...