2 个子域上没有访问控制允许源错误

No Access Control Allow origin error on 2 sub domains

本文关键字:访问控制 许源 错误      更新时间:2023-09-26

我正在尝试在以下两个子域之间进行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"。

我错过了什么?

谢谢

问题与网络安全(也称为同源策略)有关。

根据该政策,Web 浏览器允许包含在第一个 网页访问第二个网页中的数据,但前提是两个网页 页面具有相同的来源。原点定义为 URI 方案、主机名和端口号。- 更多信息在这里。

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

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

http://enable-cors.org/

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