Загрузите содержание страницы с помощью ajax jQuery

Поздравления, как может, я загружаю некоторое содержание страницы, использующее 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");
                }
            });
});

но это не возвращает содержания

6
задан niao 5 May 2010 в 09:18
поделиться

5 ответов

Вы можете использовать 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
ответ дан 8 December 2019 в 12:58
поделиться

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

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

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

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

2
ответ дан 8 December 2019 в 12:58
поделиться

Из-за ограничений вы не можете загружать содержимое веб-страницы с помощью 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);
    }
});
7
ответ дан 8 December 2019 в 12:58
поделиться

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

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

2.  PAGE <-- PHP <-- External web
      (callback)
1
ответ дан 8 December 2019 в 12:58
поделиться

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

1
ответ дан 8 December 2019 в 12:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: