无访问控制允许2个子域上的原始错误

时间:2016-07-07 07:22:27

标签: javascript ajax cross-domain

我正在尝试在以下两个子域之间进行ajax get调用:

Target URL: https://qa.mydomain.com
Origin URL: https://myotherqa.mydomain.com

我收到以下错误:

XMLHttpRequest cannot load https://qa.mydomain.com/suggest?
q=foo. No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'https://myotherqa.mydomain.com' is therefore not allowed 
access.

我正在使用$.get()进行ajax调用

这两个网站都在同一个子域下,并且都是“https”。

我错过了什么?

由于

2 个答案:

答案 0 :(得分:0)

问题在于服务器配置,服务器不接受来自其他域的请求以解决安全问题。端口可能不同,在服务器级配置中启用cors。这将解决问题。

答案 1 :(得分:0)

问题与网络安全又名同源政策有关。

  

根据该政策,网络浏览器允许首先包含的脚本   用于访问第二个网页中的数据的网页,但仅限于两个网页   页面具有相同的来源。原点被定义为组合   URI方案,主机名和端口号。 - More info here

处理此问题的正确解决方案是允许服务器端的CORS。 另一种解决方案是使用JSONP获取请求。

您可以在此站点找到一些常用设置和更多信息:

http://enable-cors.org/