使用JavaScript从网站获取特定内容

时间:2015-12-15 16:06:14

标签: javascript jquery xmlhttprequest

我想使用JavaScript从其他网站获取内容。我已经搜索了代码片段,我发现了http://www.w3schools.com/xml/tryit.asp?filename=try_dom_xmlhttprequest_responsetext 我改变了一些值,它适用于我使用的网站。当我运行此代码时,浏览器告诉我,我不被允许从该网站获取内容,所以我插入:“header(”Access-Control-Allow-Origin:http:// ....“)”in该网站的PHP部分,它工作,但它显示页面的所有内容,现在我想过滤所有内容的div并只显示该div。有没有一种简单的方法可以使用JS / Jquery做到这一点?

这是我的代码:

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();
}

我想问题是我必须先从其他网站加载内容,然后运行一段代码来过滤演示块中的内容。

1 个答案:

答案 0 :(得分: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);
        }
});