我正在构建一个Rails应用程序,但客户端也有一个wordpress组件。
我希望能够允许用户从其中一个wordpress页面注册。
为此,首先我将Rails中的x-iframe头设置为ALLOWALL。
现在,注册过程有效,但是在用户发出帖子请求之后,我希望基本窗口网址更改为响应的任何内容。
目前,我正在尝试做这样的事情 - >
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事件两次(可能是因为用户点击提交),我更新顶部窗口的位置以转到rails signup_path。
On Rails'结束,如果注册成功,signup_path会自动重定向到用户的个人资料。否则,它呈现注册视图,并在其中我有一个通用的错误消息,基于是否存在params [:iframe_error]。
这似乎是错误的,并且用户第一次没有收到特定的错误消息。有更好的方法吗?
答案 0 :(得分:0)
上述解决方案似乎是迄今为止我发现的最佳解决方案 -
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后重定向该人