【发布时间】:2020-08-31 23:56:35
【问题描述】:
我在以下地址有一个 HTML 页面:
https://www2.casailaria.it/news/
我希望我可以通过 javascript 通过 http 调用读取 DOM 的一些元素。
我正在尝试所有这些,但我仍然有那个该死的控制台错误:CORS header "Access-Control-Allow-Origin" missing。
我尝试了以下 ajax 调用但没有成功,并使用了所谓的参数:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8" />
<title>MAURIZIO</title>
<link rel="stylesheet" type="text/css" href="background.css">
</head>
<body>
<script src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>
<script>
$.ajax("https://www2.casailaria.it/news/", {
dataType: "jsonp",
cors: true,
secure: true,
headers: {
'Access-Control-Allow-Origin': '*', // or 'Access-Control-Allow-Headers: x-requested-with'
},
success: function (response) {
console.log(response);
}
});
</script>
</body>
</html>
我希望我离解决方案不会太远,我想我会绕过它。获得后,我只想执行以下操作:response.getElementsByClassName('myClassOfOtherPage')
我必须添加/删除什么才能使其正常工作?
欢迎使用其他 javascript 解决方案以及 ajax 调用,只要它们是 CDN 的一部分。
提前致谢!
【问题讨论】:
-
我想你的问题在这里得到了解答stackoverflow.com/questions/31276220/…
-
我试过了,没有。然而,在那个问题中,引用的是 json 而不是 html 页面。未指定的另一件事是放置代码
<IfModule mod_headers.c>Header set Access-Control-Allow-Origin "*"</IfModule>的位置。这个问题和其他问题几乎从未指定将Access-Control-Allow-Origin : *放在哪里。只是通过大量浏览我发现它必须进入headers...!仍然是问题没有解决的事实。 -
我认为您感到困惑。 Access-Control-Allow-Origin 位于响应标头中,不是您将发送到站点的内容。它是一种防止未知域资源访问的安全机制。读这个。 stackoverflow.com/questions/10636611/…
-
那么我如何读取 dom?如果您考虑一下,我想这是可行的,并且不违反安全性。如果有人可以查看页面源,为什么我不能通过javascript访问dom元素?
-
我不是这些东西的主人。您尝试访问的网站是一个新闻网站,因此它们将具有非常强大的安全性。您不能在客户端自己启用跨站点访问或读取策略。如果您使用某种服务器端脚本语言,您可以做的是使用代理。 stackoverflow.com/questions/31513450/…
标签: javascript ajax api rest xmlhttprequest