交叉请求出错:“Access-Control-Allow-Origin不允许原点”?

时间:2012-05-29 18:00:05

标签: javascript jquery xml include

我正在尝试从另一个网站加载内容:

<div id='include-from-outside'></div>
<script type='text/javascript'>
  $('#include-from-outside').load('http://lujanventas.com/plugins/banner/index.php&callback=?');
</script> 

但是我收到了这个错误:

XMLHttpRequest cannot load http://lujanventas.com/plugins/banner/index.php&callback=?. Origin http://lventas.com is not allowed by Access-Control-Allow-Origin.

如何防止它发生?

3 个答案:

答案 0 :(得分:3)

有两种选择:

1:make http://lujanventas.com返回正确的CORS标头 - http://enable-cors.org/

2:使用您的服务器而不是浏览器中的js请求html - http://www.daniweb.com/web-development/php/code/216729/php-proxy-solution-for-cross-domain-ajax-scripting

答案 1 :(得分:1)

您使用的网址表明该网站支持JSONP(请参阅http://en.wikipedia.org/wiki/JSONP)。如果是这样,你应该能够这样做:

<script type="text/javascript">
    function handleResponse(json){
       var data = JSON.parse(json);
       ...handle data...
    }
</script>
<script src="http://lujanventas.com/plugins/banner/index.php?callback=handleResponse"></script>

答案 2 :(得分:0)

使用jquery ajax查询加载lujaventas内容的php文件,然后ajax回调将是lujaventas内容。