laravel 路由重定向问题(laravel 5.3)

Posted

技术标签:

【中文标题】laravel 路由重定向问题(laravel 5.3)【英文标题】:laravel route redirect issue (laravel 5.3) 【发布时间】:2017-04-17 03:56:50 【问题描述】:

我正在使用任何类型的路由,然后在这种方法中,我基于一种请求类型进行处理。

路线

Route::any('/setting/custom-header/id?', 'SettingController@customHeader');

在检查类型之前从控制器中检查它是这样的

if ($id == Auth::user()->id || Auth::user()->is_admin)

因为请求是 get 它给出了一个视图,我的网址是这个 http://app-full.dev/setting/custom-header/1

这里 1 是我登录的用户的 ID。我返回的视图如下:

return view('setting/custom-header')->with(compact('custom_headers','id'));

对我来说很好。

当请求发布时,它会出现在方法中。创建数据后,我希望返回上述 url 在 http://app-full.dev/setting/custom-header/1 上的含义相同 用户在此处登录的最后的平均 id 我使用重定向作为

return redirect('setting/custom-header/id');

这里 /id 实际上是用户的 id .. 我不知道如何在这里给出 id 以便 url 可以以正确的方式出现,而不是最后的关键字 id。 如果有人可以帮助解决此问题,谢谢!

【问题讨论】:

【参考方案1】:

以下代码将检索用户 ID 并将其放入 URL。

return redirect('setting/custom-header/' . Auth::id()); 

将其传递给视图:

return view('setting/custom-header')->with(['userid' => Auth::id()]);

然后使用它:

window.location.href = "/setting/custom-header/ $userid ";

【讨论】:

感谢它在上述情况下的工作,我也在脚本中的索引中使用了我该怎么做? window.location.href = "/setting/custom-header/id"; 您可以将用户 ID 与您的视图一起传递并在 html/javascript 中打印。您可以在laravel.com/docs/5.3/views#passing-data-to-views 阅读有关它的更多信息。要打印变量,您必须使用 window.location.href = "/setting/custom-header/ $id "; 我在这里传递 id 作为return view('setting/custom-header')->with(compact('custom_headers','id')); 不知道如何在那里连接所以请 它说未定义的用户 ID 请阅读laravel.com/docs/5.3/views#creating-views,了解如何在视图中传递和使用变量或发布刀片代码。【参考方案2】:

让你的路线如下

Route::post('/setting/custom-header/id?',['as'=>'giveSomeName','uses'=>'SettingController@customHeader']);

虽然重定向使用此名称,

return redirect()->route('giveSomeName',[$id]);

希望这对你有用

【讨论】:

以上是关于laravel 路由重定向问题(laravel 5.3)的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 5.3 中重定向路由

重定向进入空白页面而不重定向到路由 Laravel 5.8

Laravel 5 - 发布路由上的 htaccess HTTPS 重定向不起作用。

如何使 Laravel 5 重定向到没有哈希(#)的 Angular 路由?

Laravel 使用来自控制器的参数重定向路由

在 Laravel 5.8 中会话过期时重定向到其他路由