我正在使用XMLHttpRequest使用javascript运行ajax。我收到错误
“原因:CORS标题'Access-Control-Allow-Origin'缺失”。
我正在使用Ajax中的其他域url。这是我的代码
if (mypostrequest.readyState==4){
console.log(mypostrequest.status);
if (mypostrequest.status==200 || window.location.href.indexOf('http')==-1){
console.log('got it');
console.log(mypostrequest.responseText);
redirect_url = mypostrequest.responseText;
//BTHit();
}
else{
console.log('cant get data');
}
}
var parameters='campaign_id='+campaign_id;
mypostrequest.open('POST', 'http://mydserverip/get_campaign.php', true)
mypostrequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
//mypostrequest.setRequestHeader('Access-Control-Allow-Origin', '*');
mypostrequest.send(parameters);
在我的服务器上,我只是打印像
这样的数据<?php male('myemail','test','testm'); echo "hello"; ?>
我收到了电子邮件,但是当我在我的控制台上查看时,我遇到了上述错误,没有任何回应。
和console.log的输出(mypostrequest.status);是0并且控制台显示无法获取数据。
我尝试了很多谷歌的解决方案,但无法解决我的问题。
我试过.htaccess也没有好运。
请帮帮我们。
答案 0 :(得分:0)
我的API遇到了同样的问题。在PHP应用程序中,您需要添加标头以允许CORS。使用标题功能。
header('Access-Control-Allow-Origin: *')
上一行允许您的php应用从任何域访问。 您可以通过添加来源来限制域名访问权限。
header('Access-Control-Allow-Origin: http://exemple.com/myapp http://foobar.com/api')
如果您只想要一些方法来访问您的服务器(仅限GET或POST) 添加这些行
header('Access-Control-Allow-Methods:' . $YourMethods)
希望它有所帮助!
祝你有美好的一天! - Nic