Javascript在html体中显示空白变量

时间:2018-02-04 14:12:36

标签: javascript jquery html

我想使用Javascript查看当前页面的源代码,因此我使用此代码段:

function getSourceCode() {
var url="http://localhost:8080/java/",xmlhttp;//Remember, same domain
if("XMLHttpRequest" in window)
    xmlhttp = new XMLHttpRequest();
if("ActiveXObject" in window)
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open('GET',url,true);
xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4){
        var a = xmlhttp.responseText;
        alert(a);
        document.getElementById("demo").innerHTML = a;
    }
};
xmlhttp.send(null);
}

在HTML文件中,我声明了一行

打印出存储所有源代码的变量,就像它警告屏幕一样。但它始终警告我的屏幕没有打印到html屏幕中的变量“a”。

这是我的HTMl代码:

<!DOCTYPE html>
<html>
<head>
    <title>Vo Tinh Thuong</title>
    <script src="code.js"></script>
</head>
<body> 
<input id="clickMe" type="button" value="clickme" onclick="getSourceCode();" />
<p id="demo"></p>
</body>
</html>

我只想将变量打印到html网页,而不是像那样提醒它。

2 个答案:

答案 0 :(得分:0)

您正在发送异步请求,因此无法打印响应。您必须将代码保留在callback中,然后将响应传递给callback。您可以在answer(或)检查this

中找到干净的解释
function callBack(a){
 document.getElementById("demo").innerHTML = a;
}

拨打此callBack(a)

答案 1 :(得分:0)

我刚刚解决了我的问题。如果我想把&#34; a&#34;变量内容&#34; responseText&#34;在当前页面的源代码中,我应该将其放入textarea而不是p标记。