我想使用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);
}
答案 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)
}