2 个子域上没有访问控制允许源错误
No Access Control Allow origin error on 2 sub domains
我正在尝试在以下两个子域之间进行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。这将解决问题。
相关文章:
- Javascript 受客户端和访问控制允许源的限制
- Azure Blob 存储 请求的资源错误中不存在访问控制允许源标头
- Socket.io 请求的资源上不存在“访问控制允许源”标头.因此,不允许访问源“http://localhost”
- Android 4.1 上的访问控制允许源错误
- 跨源资源错误:请求的资源上不存在“访问控制允许源”标头
- 访问控制允许源错误
- 意外的访问控制允许源错误
- CORS 标头“访问控制允许源”丢失,但它存在于标头中
- 访问控制允许源不允许 AJAX 源空
- 交叉请求时出错:“访问控制允许源不允许源”
- 将所有域添加到 CORS(访问控制允许源:*)的安全隐患
- Foursquare 返回“无访问控制允许源”标头显示错误
- 是来自浏览器或 XmlHttpRequest 的“没有'访问控制-允许源'标头”错误消息
- 旧系统的 CORS 问题 - 没有“访问控制允许源”标头
- AJAX 请求收到“请求的资源上不存在'访问控制-允许源'标头”错误
- 执行预检请求时是否需要访问控制允许源 CORS 标头
- ajax jonp 不应该适用于 请求的上不存在“访问控制-允许源”标头
- 为什么如果此 API 给出“无访问控制允许源标头”,我可以通过地址栏或 http://www.hurl.it 访问它
- 在某些情况下没有“访问控制-允许源”标头错误,但在其他情况下则没有
- 无法在使用 CORS 和 Mandrill 的 Node Express 中找出“没有'访问控制-允许源'