Показать сообщение отдельно
  #84 (permalink)  
Старый 31.07.2012, 16:30
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Насчёт "кроссдоменного AJAX" в JavaScript*.

* жёлтовато. на самом деле имелось в виду получить данные с другого сайта, имея на руках только JS.

Вопрос :

Как мне забрать контент с другого сайта? Так не работает.
$.ajax({
    url: 'http://vk.com',
    success: function(data){
        alert(data); // <-- WTF
    }
});

Ответ :

И не будет работать. Для получения контента с других сайтов придумана целая куча способов, но сейчас я остановлюсь на одном, который основан на применении Яху Труб. Эту штуку я много раз упоминал, и это даже есть и на хабре.
Как решить?

Вообще, стоило бы почитать, зачем нужна эта технология (предназначена она вообще не для того, чтобы контент тырить ), но это уже как-нибудь сами. Итак, сейчас получим контент сайта javascript.ru. Простите, обьяснять ничего не хочу. Если спросит кто-нибудь, как это работает, напишу сюда.
<html>
<head>
    <base href="http://javascript.ru"> <!-- для корректного поедания картинок -->
</head>
<body>
<h1>ответ будет здесь</h1>
<script>
var query = 'select * from html where url="http://javascript.ru/" and xpath="*"'
var url = 'http://query.yahooapis.com/v1/public/yql?q='+encodeURI(query)+'&format=xml&callback=callback';

document.body.appendChild(document.createElement('script')).src = url;

function callback(data) {
    document.body.innerHTML += data.results[0];
}
</script>
</body>
</html>

Ответить с цитированием