2015-12-15 2 views
3

Я хотел бы получить контент с другого сайта с помощью JavaScript. Я уже искал фрагменты кода, и я нашел это http://www.w3schools.com/xml/tryit.asp?filename=try_dom_xmlhttprequest_responsetext Я изменил некоторые значения, чтобы он работал на используемом веб-сайте. Когда я запускал этот код, браузер говорит мне, что мне не разрешили получать контент с этого сайта, поэтому я вставил: «header (« Access-Control-Allow-Origin: http: // .... »)» в раздел php на веб-сайте и он работал, но он отобразил весь контент страницы, теперь я хотел бы отфильтровать div из всего содержимого и отобразить только этот div. Есть ли простой способ сделать это с помощью JS/Jquery?Получить конкретный контент с веб-сайта с помощью JavaScript

Вот мой код:

function loadXMLDoc(){ 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     document.getElementById("demo").innerHTML = xmlhttp.responseText; 
    } 
    }; 
    xmlhttp.open("GET", "http://.....", true); 
    xmlhttp.send(); 
} 

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

+0

«Есть простой способ ... фильтровать ....» - не «Eas y ", per se. Что вы хотите «фильтровать»? Если у вас есть этот 'document.getElementById (« demo »). InnerHTML = xmlhttp.responseText;', вы бы сделали что-то вроде этого: var content = xmlhttp.responseText; // фильтруем контент с вашим кодом здесь; document.getElementById ("demo") = content; ' –

+0

@cale_b должен добавить это как ответ –

ответ

1

«Есть простой способ ... фильтровать ....»

не «легко», за се. Что вы хотите «фильтровать»?

Чтобы редактировать/манипулировать возвращаемая информация, где у вас есть это:

document.getElementById("demo").innerHTML = xmlhttp.responseText; 

Вы бы сделать что-то вроде этого:

var content = xmlhttp.responseText; 
// filter content with your code here; 
document.getElementById("demo") = content; 

Примечание: Если вы используете JQuery (ваш вопрос включает в себя тег jQuery), то код становится проще:

jQuery.ajax("http://www.urltoajax.com", { 
    success: function(content) { 
      // filter content with your code here 
      // Example: 
      content = $(content).find('my_elem').text(); 
      // Then apply/append it to the element. 
      jQuery("#demo").html(content); 
     } 
}); 
+0

Большое спасибо, этот код помогает мне! – NiekF

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