【问题标题】:Access-Control-Allow-Origin' header is present on the requested resource [duplicate]Access-Control-Allow-Origin'标头出现在请求的资源上[重复]
【发布时间】:2017-07-25 18:34:25
【问题描述】:

我想在 div 中显示一个新页面,但是 access-control-allow-origin 问题。

例如,我尝试显示 www.naver.com

================================================ ==========================

  <link rel="stylesheet"   href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
  <script src="js/jquery.ajax-cross-origin.min.js"></script>
  <script>
      $(document).ready(function() {
        var url = 'http://www.naver.com';
    jQuery.ajax({
            type:"GET",
            url : url,
            dataType:"jsonp",
            crossOrigin: true,          
            success : function(data) {
                console.log('success');
                console.log('success:'+url);
                },
            error : function(data) {
                console.log('error');
                }
         });
     $('#openPage').load(url);

    });
 </script>
 <style>
    #btn{
        width: 100%;
        height:50px;
    }

</style>
</head>
<body>
<!-- <div id="btn">
    <button>button</button>
</div> -->
<div id='openPage'></div>

</html>

【问题讨论】:

  • 发布你的代码,不要只是截图。

标签: javascript json ajax cross-domain


【解决方案1】:

只有当您发出请求的站点授予您的站点执行跨域 AJAX 请求的权限时,您才能发出跨域 AJAX 请求。 Naver.com 没有,所以你不能。没有办法解决这个问题。如果您只想显示一个页面而不关心 JavaScript 对其的访问,那么 iframe 是最接近的东西。

【讨论】:

    【解决方案2】:

    响应 http 标头必须包含“Access-Control-Allow-Origin”,这应该由 Naver.com 完成。由于无法更改,您可以构建一个代理服务器来加载 Naver.com 的内容并发送到您的页面。

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 2020-07-10
      • 2016-06-30
      • 2016-10-08
      相关资源
      最近更新 更多