试图从同一域中的站点获取资源时出现访问-控制-允许-起源错误
Access-Control-Allow-Origin error when trying to get resources from site in same domain?
我只是想从服务器上的其他站点之一抓取html并在当前站点上打印它。下面是我所做的:
// The object
var xmlhttp = new XMLHttpRequest();
// When a button is pressed, we get the html
function printJSON(action)
{
otherURL = "http://www.my.domain.com/other.php?action=" +action;
xmlhttp.open('GET',otherURL,true);
xmlhttp.send();
}
// and then print it in this div
xmlhttp.onreadystatechange = function
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
$('JSON_output').innerHTML = xmlhttp.responseText;
}
}
,我收到的错误是:
XMLHttpRequest无法加载http://www.my.domain.com/other.php?action=SEARCH。Access-Control-Allow-Origin不允许Origin http://my.domain.com
这看起来很奇怪,因为这是服务器上的一个站点试图访问同一文件夹中的另一个站点。有什么我需要调整我的服务器上?我需要设置xmlhttp中的属性?
干杯!
http://www.my.domain.com和http://my.domain.com根据JavaScript同源策略是两个不同的域(注意www)。
如果www.my.domain.com和my.domain.com指向相同的位置,最简单的解决方案是使otherURL
相对;以"/other.php?action=";这样,它将始终与您的页面在同一域。
如果没有,指向同一个地方,有一个更复杂的解决方案,涉及到你的服务器输出额外的头,称为跨源资源共享;
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- CORS:否'访问控制允许来源'header-但是php设置头文件
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- CORS:访问控制允许原点不等于提供的原点
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- django没有访问控制允许删除原始标头
- HTML5 Canvas访问控制允许原始错误
- Android、iOS和Windowsphone的PHP访问控制
- 访问控制台中的匿名函数
- 访问控制允许标头不允许X-Requested-Wise
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- Ajax—“;访问控制允许起源”;错误
- XMLHttpRequest无法加载url Origin访问控制允许Origin不允许null
- 访问控制允许来源,即使在同一域上
- jQuery 表单插件:XMLHttpRequest 无法加载 http://www...没有“访问控制允许来源”
- Javascript 受客户端和访问控制允许源的限制
- 访问控制允许方法不允许删除
- 即使在服务器将访问控制允许原点设置为“*”之后,也会收到javascript错误
- AngularJS 没有“访问控制允许来源”标头
- 把手助手(Emberjs)中的访问控制变量