[英]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控制台来查看这些错误消息。
当您没有足够的权限访问不同域之间的资源时,就会出现CORS(跨源资源共享)问题。 每个Web服务器都设置了确定访问这些文件的规则的策略,并且Stack Overflow的安全设置被设置为禁止对该站点的这种访问。 您可以在此处阅读有关CORS的更多信息 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.