Access-Control-Allow-Origin'标头出现在请求的资源

时间:2017-03-06 01:49:17

标签: javascript json ajax cross-domain

我想在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>

2 个答案:

答案 0 :(得分:0)

如果您提出请求的网站允许您的网站获得此权限,则您只能提出跨源AJAX请求。 Naver.com没有,所以你不能。没有办法解决这个问题。如果您只是想显示一个页面并且不关心JavaScript访问它,那么iframe就是最接近的。

答案 1 :(得分:0)

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