我正在尝试从网址链接html源代码将信息链接到同一域中的另一个网页,并从html代码中获取特定信息,例如获取范围ID和来自<td>
的信息
并更改内部html代码<span id="myspan"> here is my text </span>
到了我得到的。
我下面的代码无效,不确定原因
function loadHTML(spanId, url) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 /* complete */) {
handler(xmlhttp.responseText, spanId);
}
}
}
function handler(responseText, spanId) {
var parser =new DOMParser();
var doc = parser.parseFromString(responseText, "text/html");
//get class name from parser
var status = doc.getElementsByTagName("tr");
var className = status[1].className;
//get the date/time from parser
var tds = doc.getElementsByTagName("td");
var dateTime = tds[0].innerText;
var span = document.getElementById(spanId);
span.id= className;
span.innerHTML = dateTime;
}
loadHTML('myspan',"any given url");
<span id="myspan"> here is my text </span>
答案 0 :(得分:0)
在xmlhttp.onreadystatechange之后你需要调用xmlhttp.send()来启动http请求
正确的代码在这里
function loadHTML(spanId, url) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 /* complete */) {
handler(xmlhttp.responseText, spanId);
}
}
}
// send() method actually initiates the ajax request
xmlhttp.send();
function handler(responseText, spanId) {
var parser =new DOMParser();
var doc = parser.parseFromString(responseText, "text/html");
//get class name from parser
var status = doc.getElementsByTagName("tr");
var className = status[1].className;
//get the date/time from parser
var tds = doc.getElementsByTagName("td");
var dateTime = tds[0].innerText;
var span = document.getElementById(spanId);
span.id= className;
span.innerHTML = dateTime;
}
loadHTML('myspan',"any given url");
&#13;
<span id="myspan"> here is my text </span>
&#13;