首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从筛选器返回变量。Laravel 4

从筛选器返回变量。Laravel 4
EN

Stack Overflow用户
提问于 2013-12-22 02:44:54
回答 2查看 642关注 0票数 1

我是Laravel的新手,我正在尝试设置一些基本的路由逻辑。我有一个处理某个URL模式的路由。这些URL通常是一个ajax请求(返回弹出窗口的数据)。但是,搜索引擎和禁用javascript的用户将使用普通链接,因此我希望在单独的页面上返回数据。为此,我需要确定请求是否为ajax。我知道我可以使用以下命令来完成此操作:

代码语言:javascript
复制
if(Request::ajax()){
   //
}

我的计划是将其作为附加到路由的“之前”过滤器的一部分。如果我的想法是正确的,我需要从过滤器返回一个boolean ajax=true/false。也许这是一个非常简单的问题,但我找不到任何解释如何从过滤器返回这样的值的地方?我所能找到的一切似乎都假定任何过滤器逻辑的默认结果都必须是重定向。

谢谢

编辑:我得出的结论是,我根本没有按照预期的方式使用过滤方法,而只是将处理程序放在我的控制器方法中。但我仍然想知道是否有可能从过滤器返回数据。

EN

回答 2

Stack Overflow用户

发布于 2013-12-22 03:13:52

在控制器中:

代码语言:javascript
复制
if(Request::ajax()){

  return Response::json(['message' => 'Hi. Your request was ajax!', 'status' => 1]);
}
票数 -1
EN

Stack Overflow用户

发布于 2014-02-11 02:07:30

我为此找到的简单解决方案是使用Session::flash,它只为下一个请求填充数据,您可以很容易地在任何地方获得结果。举个例子:

函数路由::filter(‘

’,function() {

if(false) {

View:make('error);//或者在你想要的时候

}否则{

返回会话:flash(‘result_var’,$my_result_var);

}

});

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20722293

复制
相关文章

相似问题

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