以下代码从www.example.com启动,并获取www.example.com/example.html的完整html源代码并提醒它。
function process(){
url = "http://www.example.com/example.html"
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4){
alert(xhr.responseText)
}
}
xhr.send();
}
process();
现在我要做的是从html源代码中获取电子邮件,如下所示:
<input type="hidden" id="email2" name="email2" value="example@example.com" />
通常,如果我在页面本身,我只是做一个简单的事情:
document.getElementById('email2').value
但在这种情况下,我如何简单地将电子邮件解析为包含所有html源代码的变量的变量:xhr.responseText
?
答案 0 :(得分:0)
你不能使用getElementById ..因为你拥有的只是一个字符串..但是你可以解析int
alert(xhr.responseText.split('id="email2"')[1].split('value="')[1].split('"')[0])
答案 1 :(得分:0)
你可以做的是根据xhr调用的响应创建一个HTML文档,然后查询(使用getElementById或其他DOM函数)。
有关如何创建新HTML文档的信息,请参阅How to create Document objects with JavaScript。
答案 2 :(得分:0)
test2 = ""
function process(){
url = "http://www.example.com/example.html"
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4){
test2 = xhr.responseText.split('id="email2"')[1].split('value="')[1].split('"')[0]
process2();
//do stuff here
}
}
xhr.send();
}
process();
function process2(){
// or do stuff here
alert(test2);
}