javascript从在线链接获取html文件

时间:2015-05-08 08:53:37

标签: javascript jquery html xmlhttprequest

我想使用xmlhttprequest和javascript调用html在线链接,这是我的代码 但是当代码到达xmlhttp.open时,它停止了并且不继续执行

function loadXMLDoc(size,downloadfromurl) {
    var xmlhttp;

    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function () {

        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var temp = xmlhttp.responseText;

        }
    }

    xmlhttp.open("GET", "http://app.arsel.qa/mobileappspeedtest/samples/256.htm?n=" +  Math.random(), false);

    xmlhttp.send(null);

}

2 个答案:

答案 0 :(得分:0)

您正在做的是对该页面的实际AJAX请求。 出于安全原因,默认情况下不允许跨域AJAX请求。 但是,有几种方法可以执行跨域请求,您可以查看jQuery如何执行它,因此您不必使用纯JavaScript重新重新发明轮子。 This article应该会有帮助。

无论如何,如果你真的想要抓取那个页面,那么有很多用于服务器端脚本语言的开源库,比如Java,PHP,Node.js等,它们在收集内容,解析HTML等方面非常有用。根据您的需要。

答案 1 :(得分:0)

您可以使用JSONP克服跨域障碍。

$.ajax({
  type:'GET',
  dataType:'jsonp',
  jsonp: "jsonp",
  url:"http://yoururl.com?callback=callbackFunction"
});


function callbackFunction(data){
  //you can process the data here
  console.log(date)
}