【问题标题】:Send data from one page (CMS) to subdomain (platform)将数据从一页(CMS)发送到子域(平台)
【发布时间】:2019-12-30 16:57:32
【问题描述】:

我希望你能帮助我,或者至少给我一些解决方案的建议。

背景:我们有一个包含一般信息的重力 CMS 网站、一个博客等(example.com)。在子域(用 Ruby(后端)和 Angular(前端)创建的 test.example.com)上,我们有一个完全开发的双面平台。

问题:我需要在 example.com 上创建一个特定的登录页面。此登录页面必须包含一个注册表单,我需要能够在其中读取子域上输入的数据。

例如:example.com/landing-page1 有一个包含电子邮件、用户名和密码的表单。 test.example.com 是一个完全开发的平台,具有注册流程。在 example.com 上提交表单时,它应该打开一个带有 test.example.com/sign-up 的新窗口,从中读取来自 example.com 上的表单的数据。

在我看来,最好的解决方案是创建一个 cookie,它可以从 test.example.com 读取。这可能吗?

据我了解,要在 Grav 中执行此操作,我需要创建一个可以创建此 cookie 的插件,然后我需要修改平台以便它可以从 cookie 中读取。我认为我也需要实施 CORS 来做到这一点。

非常感谢任何建议或帮助。

【问题讨论】:

    标签: php cookies postmessage grav


    【解决方案1】:

    可以让 cookie 在两个域之间共享,但您必须对创建 cookie 的服务做一些额外的工作。有关其工作原理的更多详细信息,请参阅this answer

    在重力方面,你是对的。您需要实现一个插件(请参阅 dev-tools 插件),该插件随后将读取此 cookie。如果我在做这个项目,我会设置插件将 cookie 信息存储为 twig 变量。

    或者,您的插件可以简单地从数据库中读取。

    【讨论】:

    • 感谢雅各布的回答!我需要重力来创建cookie,但我猜我仍然需要实现一个插件,它可以创建这个cookie。然后我可能不需要将它存储为我的树枝变量。我明天会研究这个问题,然后我会在这里发布我的发现。
    【解决方案2】:

    我最终采用了与上述不同的方法,因此我可以摆脱创建重力插件的麻烦。 我让 example.com 上的表单向子域发送了一个 GET 请求,然后通过 URL 传递变量。然后我创建了一个服务来存储这些数据,然后我将其注入到我需要访问数据的角度模块中。

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 2020-01-30
      相关资源
      最近更新 更多