如何避免从子域请求数据时出现跨源问题



在我的网站 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,然后重新启动应用程序服务器。

相关内容

  • 没有找到相关文章