通过获取ajax请求从html源代码中获取电子邮件

时间:2013-07-25 03:57:50

标签: javascript ajax parsing get

以下代码从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

3 个答案:

答案 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);
}