首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Redirect::back() Laravel关闭FancyBox

使用Redirect::back() Laravel关闭FancyBox
EN

Stack Overflow用户
提问于 2015-01-24 08:11:48
回答 2查看 856关注 0票数 0

我正在使用Laravel创建一个项目

在我的视图中,我使用Fancybox-2来显示一个表单。当表单提交时,我希望关闭Fancybox,然后将用户重定向到另一个页面。

在我的控制器中,在处理表单的方法的末尾,我有

代码语言:javascript
复制
// some code

return Redirect::route('Page')

当我从视图中提交表单时,一切都正常。数据库已填满,我被重定向到'Page‘。但是,我在Fancybox中进行了重定向。如何关闭精美的方框,然后在我的控制器中重定向到“Page”?这有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2015-01-24 18:20:06

您必须使用javascript处理重定向。我建议你从控制器返回一个JSON对象,然后在你的回调函数中读出:

代码语言:javascript
复制
if(Request::ajax()){
    return Response::json(array('redirect' => route('Page')));
}
return Redirect::route('Page')

Javascript:

代码语言:javascript
复制
function(response){
   if(response.redirect){
       window.location = response.redirect;
   }
}
票数 1
EN

Stack Overflow用户

发布于 2015-01-25 11:19:47

我不知道Laravel,但是为了关闭fancybox (我假设它是一个iframe类型),你需要从打开的页面调用parent.jQuery.fancybox.close()方法。

然后,在fancybox自定义初始化脚本(您的问题中没有显示的脚本)中,添加afterClose回调以将页面重定向到您想要的任何位置,如下所示:

代码语言:javascript
复制
$(".fancybox").fancybox({
    // other API options
    afterClose : function() {
        window.location.href = "http://example.com/page.html";
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28120812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档