2012-06-19 5 views
0

Я делаю запрос ajax для получения внешней страницы, которая работает, но я не могу манипулировать содержимым страниц, я хочу получить несколько элементов h2 и отобразить их на div на моей странице.scrape и манипулировать с помощью jquery

$.ajax({ 
    url: 'www.example.com', 
    type: 'GET', 
    dataType: 'jsonp', 
    success: function(data) { 
     var mycontent = $(data).filter("h2"); 
    } 
}); 

Я получаю сообщение об ошибке, поскольку мой ответ содержит теги html/header.

+0

Это невозможно без доступа к серверу или какого-либо прокси-скрипта. –

ответ

2

Для извлечения внешнего файла, обслуживаемую другой домен или порт и манипулировать его содержание в современном браузере вы должны либо

В оба случая, которые означают, что у вас есть доступ к серверу.

Кстати, вы не можете, как вам кажется, попробовать jsonp-запрос и надеяться, что ответный контент будет использоваться в функции успеха: сервер вызывает непосредственно вашу функцию javascript, отвечая functionName(someJson).

+0

Или установите локальный «прокси» для данных, которые могут быть выполнены без доступа к удаленному ресурсу. –

+0

Если локально вы имеете в виду на стороне сервера, да, и это может быть использовано иногда. Но на самом деле это не получает ресурс, обслуживаемый другим доменом. –

0

Вы не можете. AJAX предназначен для обработки запроса на страницу (сценарий) вместе с некоторыми данными; сценарий оценивает данные и возвращает ответ .

Это не относится к содержимому обычной веб-страницы, если только сервер не имеет определенной службы для обработки HTML-страницы страницы. Другими словами, очистка обычно невозможна.

Смежные вопросы