在我的网站 www.example.com 上,我向子域提交了ajax请求:
function submit(json_data) {
return $.ajax({
type: 'POST',
url: "https://sub-domain.example.com",
data: json_data
});
}
https://sub-domain.example.com 指向与 example.com 不同的 IP 地址(在 Amazon ec2 上(。这一切都曾经工作正常。但是,当我仅将 example.com 更改为HTTPS时,我开始收到如下错误:
XMLHttpRequest 无法加载 https://sub-domain.example.com。请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源"https://www.example.com"。响应具有 HTTP 状态代码 522。
我使用Cloudflare。修复此错误的简单方法是什么?
- 我可以更改 Cloudflare 中的设置,这样就不会有问题吗?我想在 example.com/sub-domain 设置一个页面,指向与以前相同的IP地址,但这似乎是不可能的。
- 我可以对请求进行简单的更改吗?我尝试使用jsonp,但这不适用于POST。
- 如果无法做到这一点,如何更改实际子域以允许来自 example.com 的此类请求?
在子域上启用cors请求,并允许域 www.example.com 向子域发出请求。
查看此页面,也许它会对您有所帮助。
尝试添加
config.action_dispatch.default_headers['Access-Control-Allow-Origin'] = '*'
到应用程序.rb,然后重新启动应用程序服务器。