Загрузите содержимое страницы с помощью ajax jquery - PullRequest
6 голосов
/ 05 мая 2010

Привет, Как я могу скачать содержимое страницы, используя ajax и jquery: Я делаю что-то подобное (2 версии внутри одного скрипта):

$("p").click(function() {

    $('#result').load('http://google.com');

            $.ajax({
                url='www.google.com',
                success: function(data) {
                    $("result").html(data);
                    alert('Load was performed.');
                    var url = 'www.wp.pl';
                    $('div#result').load(url);
                    //var content = $.load(url);
                    //alert(content);
                    //$("#result").html("test");
                }
            });
});

но не возвращает никакого контента

Ответы [ 5 ]

7 голосов
/ 05 мая 2010

Вы можете использовать YQL для прокси вашего звонка:

$.ajax({
  url:"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D'http://www.google.com'&format=xml&callback=callback",
  type: 'GET',
  dataType: 'jsonp'
});

  function callback(data){
    $('#result').html(data.results[0]);
  }
7 голосов
/ 05 мая 2010

Из-за ограничений вы не можете загрузить содержимое веб-страницы, используя AJAX, который не размещен в том же домене, что и домен, на котором размещен этот скрипт. Также у вас есть синтаксическая ошибка при вызове функции .ajax. Это должно выглядеть так:

$.ajax({
    url: 'http://yourdomain.com/page1.htm',
    success: function(data) {
        $("result").html(data);
        alert('Load was performed.');
        var url = 'http://yourdomain.com/page2.htm';
        $('div#result').load(url);
    }
});
2 голосов
/ 05 мая 2010

Хотя невозможно напрямую запросить хост, который является внешним по отношению к текущему домену, из Javascript, вы можете использовать прокси-скрипт для получения нужных данных.

Междоменный AJAX-запрос с помощью jQuery: http://jquery -howto.blogspot.com / 2009/04 / кросс-доменный-ajax-запрос-с-jquery.html

Вы также можете использовать скрипт flXHR, который можно поместить во многие библиотеки Javascript (включая jQuery).

flXHR: http://flxhr.flensed.com/

1 голос
/ 05 мая 2010

Вам нужно использовать что-то под названием JSONP для перехода по домену. Seider написал больше подробностей о том, как сделать это с помощью jQuery.

1 голос
/ 05 мая 2010

Вы также можете просто вызвать страницу PHP / ASP / RUby, которая, в свою очередь, выполняет внешний вызов для вас и представляет информацию так, как вам нужно.

1.  PAGE --> PHP --> External web
        (Ajax)

2.  PAGE <-- PHP <-- External web
      (callback)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...