否';访问控制允许来源';请求的资源站点上存在标头-不允许


No 'Access-Control-Allow-Origin' header is present on the requested resource - site not allowed

加载此页面时出现此错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource.

页面如下:http://vieillemethodecorpsneuf.com/confirmation-achat-2/?item=2&cbrecept=NT5LQ4FE&时间=1412942198&cbpop=103E98FF&cbaffi=CELLULITEF&cupsellreceive=NT5LQ4FE&cname=nathalie+huard&电子邮件=n-huard@hotmail.com&accountry=CA&czip=J2J1M9&cbskin=6553&cbfid=14412&cbf=M3XLQ7WEWB

完整的错误是:

XMLHttpRequest cannot load https://app.getresponse.com/add_contact_webform.html?u=WOoS. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://vieillemethodecorpsneuf.com' is therefore not allowed access.

我们该如何解决这个问题?我可以在.htaccess文件中放入一些内容来解决它吗?

请注意,这个页面是在Wordpress OptimizePress插件下构建的,即使有一个模块可以帮助我将代码放在HEAD部分,OP也不允许我用这个模块呈现PHP代码。所以很难把这个代码放在标题中:

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

顺便说一下,参考的完整代码是:

<?php
$clickbank_name = (isset($_GET['cname'])) ? $_GET['cname'] : ''; 
$clickbank_email = (isset($_GET['cemail'])) ? $_GET['cemail'] : '';
$clickbank_country = (isset($_GET['ccountry'])) ? $_GET['ccountry'] : '';
?>
<script type="text/javascript"    src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){  
var cname = '<?php echo $clickbank_name; ?>';
var cemail = '<?php echo $clickbank_email; ?>';
var ccountry = '<?php echo $clickbank_country; ?>';
var webform_id = '5068102'; //here your webform id
var dataString = ‘name='+cname+'&email='+cemail+'&custom_country='+ccountry+'&webform_id='+webform_id;
$.ajax({
  type: "POST",
  url: "https://app.getresponse.com/add_contact_webform.html?u=WOoS",
  data: dataString
});
});
</script>

如果使用jquery调用,则应使用"crossDomain:true"

例如:

$.ajax({    
    type: "GET",
    crossDomain:true,
    url: "http://api.pinterest.com/v1/urls/count.json",
    dataType: "jsonp",
    success: function(e) {
    }
});

如果您没有访问服务器上的推送代码的权限,并且您将服务器作为客户端(从前端)ping,则很难避免此错误。在我看来,最简单的方法是使用JSONP或运行您自己的服务器,该服务器为前端服务,并对您试图访问的远程服务器进行ping。

这可能也有帮助:那么,JSONP还是CORS?