使用http调用或类似方法读取html页面的DOM

问题描述 投票:1回答:1

我在以下地址有一个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')我必须添加/删除哪些内容才能使其正常运行?只要它们是CDN的一部分,其他javascript解决方案以及ajax调用都将受到欢迎。预先感谢!

javascript ajax api rest xmlhttprequest
1个回答
0
投票

CORS旨在保护用户免于窃取用户登录的其他网站上的会话和数据。

您试图通过AJaX加载的页面位于另一个域上。

[如果您是在本地进行开发,并且只想进行测试,则可以使用标记启动Chrome,以忽略CORS。 Here is how to do that

如果要在其他域上托管页面,则需要将CORS标头添加到https://www2.casailaria.it/news/。如果该页面是使用PHP创建的,则可以将其添加到该页面:

header("Access-Control-Allow-Origin: *");

请注意*不安全。它应该是发起AJaX调用的页面的域。

© www.soinside.com 2019 - 2024. All rights reserved.