繁体   English   中英

通过XMLHttpRequest获取HTML源代码[JavaScript]

[英]Getting HTML Source Code via XMLHttpRequest [JavaScript]

XMLHttpRequest适用于第一个URL,但不适用于第二个URL。我认为此功能不适用于动态网页。我也尝试使用Ajax获取html源,但它也不起作用,该怎么办?我可以更改此代码以用于第二个URL吗?

<script language="Javascript" type="text/javascript">

function getSource(url)
{
    var req = new XMLHttpRequest();
    req.open(
        "GET",
        url,
        true);
    req.onreadystatechange = statusListener;
    req.send(null);
    function statusListener()
    {
    if (req.readyState == 4) 
        {
            if (req.status == 200)
            {
                var doc=req.responseText;
                alert(doc);
            }
        }
    }
}

url1 = "https://pages.github.com/";
url2 = "https://stackoverflow.com/";

// This code WORKS
getSource(url1);

// This code DON'T WORK
getSource(url2);
</script>

我在JSFiddle中运行您的代码,但收到一条错误消息,指出这是CORS问题。 您可以通过在所选浏览器中打开Javascript控制台来查看这些错误消息。

在Javascript控制台中看到的错误消息

当您没有足够的权限访问不同域之间的资源时,就会出现CORS(跨源资源共享)问题。 每个Web服务器都设置了确定访问这些文件的规则的策略,并且Stack Overflow的安全设置被设置为禁止对该站点的这种访问。 您可以在此处阅读有关CORS的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM