1

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

4

3 回答 3

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);
}
于 2013-07-25T12:16:54.940 回答
0

你不能使用 getElementById .. 因为你只有一个字符串 .. 但你可以解析它

alert(xhr.responseText.split('id="email2"')[1].split('value="')[1].split('"')[0])
于 2013-07-25T04:08:17.100 回答
0

您可以做的是根据 xhr 调用的响应创建一个 HTML 文档,然后查询它(使用 getElementById 或其他 DOM 函数)。

有关如何创建新 HTML 文档的信息,请参阅如何使用 JavaScript 创建文档对象。

于 2013-07-25T04:16:15.573 回答