繁体   English   中英

从iframe发送POST请求,提醒父窗口href

[英]Sending a POST request from an iframe, alerting the parent window href

我正在构建一个Rails应用程序,但是客户端也有一个wordpress组件。

我希望能够允许用户从其中一个wordpress页面进行注册。

为此,首先将Rails中的x-iframe标头设置为ALLOWALL。

现在,注册过程可以正常工作,但是在用户发出发布请求之后,我希望基本窗口url更改为任何响应。

目前,我正在尝试做这样的事情->

  jQuery(function($) {
    var timesRun = 0;
    var original = "http://localhost:3000/mainsignup"

    $('#sign-up-iframe').load(function(e){
      timesRun += 1
      if (timesRun != 1) {
        $(e.currentTarget).addClass('hidden')
        window.location.href = "http://localhost:3000/signup?iframe_error=catch"
      }
    });
  });

要做的是,如果在此iframe上两次调用load事件(大概是因为用户点击了Submit),那么我将更新顶部窗口的位置以转到rails signup_path。

在Rails结束时,如果注册成功,那么signup_path会自动重定向到用户的个人资料。 否则,它将呈现注册视图,并且在内部,根据params [:iframe_error]是否存在通用错误消息。

但是,这似乎是错误的,并且用户第一次不会收到特定的错误消息。 有一个更好的方法吗?

上述解决方案似乎是迄今为止我发现的最好的解决方案-

 jQuery(function($) {
    var timesRun = 0;
    var original = "http://localhost:3000/mainsignup"

    $('#sign-up-iframe').load(function(e){
      timesRun += 1
      if (timesRun != 1) {
        $(e.currentTarget).addClass('hidden')
        window.location.href = "http://localhost:3000/signup?iframe_error=catch"
      }
    });
  });

您让Rails处理正确的重定向,并在iframe的第二次加载后重定向人员

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM