Поздравления, как может, я загружаю некоторое содержание страницы, использующее 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");
}
});
});
но это не возвращает содержания
Вы можете использовать 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]);
}
Хотя невозможно напрямую запросить хост, внешний по отношению к текущему домену, из 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/
Из-за ограничений вы не можете загружать содержимое веб-страницы с помощью 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);
}
});
Вы также можете просто вызвать страницу PHP / ASP / RUby, которая, в свою очередь, сделает внешний вызов за вас и представит информацию нужным вам способом.
1. PAGE --> PHP --> External web
(Ajax)
2. PAGE <-- PHP <-- External web
(callback)
Вам нужно использовать что-то под названием JSONP для перехода по домену. Seider опубликовал более подробную информацию о том, как это сделать с помощью jQuery.