我正在尝试在以下两个子域之间进行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”。
我错过了什么?
由于
答案 0 :(得分:0)
问题在于服务器配置,服务器不接受来自其他域的请求以解决安全问题。端口可能不同,在服务器级配置中启用cors。这将解决问题。
答案 1 :(得分:0)
问题与网络安全又名同源政策有关。
根据该政策,网络浏览器允许首先包含的脚本 用于访问第二个网页中的数据的网页,但仅限于两个网页 页面具有相同的来源。原点被定义为组合 URI方案,主机名和端口号。 - More info here。
处理此问题的正确解决方案是允许服务器端的CORS。 另一种解决方案是使用JSONP获取请求。
您可以在此站点找到一些常用设置和更多信息: