尝试访问带有标题的网站

时间:2019-08-26 10:36:08

标签: javascript html

我正尝试以另一个域访问该网站,以便我可以阅读其内容。

我试图以这种方式但没有成功:

<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
        $.ajax({
          url: 'http://www.test.com/hello.php',
          type: 'GET',
          dataType: 'text',
          success: function(text) { alert(text); },
          error: function() { alert('error'); },
          beforeSend: setHeader
        });
      });

      function setHeader(xhr) {
        xhr.setRequestHeader('Referer', 'http://www.test.com');
        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
      }
    </script>
  </head>
  <body>
    <h1>Some Text</h1>
  </body>
</html>

请帮助我。 伊泰。

2 个答案:

答案 0 :(得分:0)

据我所知,您只能从该页面中提取内容,只要该站点已设置了读取内容的API。 如果站点是您的站点,则也许您应该首先尝试为其创建一个宁静的API,以便您可以将JSON信息作为JSON“发送”到您的其他JS,并可能使用bodyparser解决。

答案 1 :(得分:0)

出于安全原因,浏览器限制了从脚本内部发起的跨域HTTP请求。例如,XMLHttpRequest和Fetch API遵循同源策略。这意味着使用这些API的Web应用程序只能从加载该应用程序的相同来源请求HTTP资源,除非来自其他来源的响应包括正确的CORS标头。

其他域需要使用Access-Control-Allow-Origin: *进行响应,以允许您的脚本访问响应。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS