📅  最后修改于: 2023-12-03 15:17:14.390000             🧑  作者: Mango
在 Laravel 中,我们经常需要获取当前请求的引用者(referrer),即页面或资源的来源URL。在没有主机的情况下获取引用者是一个常见的需求,可以通过以下方法实现。
在 Laravel 中,可以通过 Request
对象来获取当前请求的引用者。首先,在你的控制器或路由处理方法中注入 Illuminate\Http\Request
类作为一个参数。
use Illuminate\Http\Request;
public function yourMethod(Request $request)
{
// 获取引用者
$referrer = $request->server('HTTP_REFERER');
// 进一步处理引用者
// ...
}
在上面的例子中,我们使用 $request->server('HTTP_REFERER')
方法获取当前请求的 HTTP_REFERER
服务器参数,该参数包含了当前请求的引用者URL。你可以在引用者中进行进一步的处理。
在 Laravel 中,还可以通过使用辅助函数 url()->previous()
来获取引用者。
public function yourMethod()
{
// 获取引用者
$referrer = url()->previous();
// 进一步处理引用者
// ...
}
在上面的例子中,url()->previous()
函数返回当前请求的引用者URL。
如果你需要在 HTML 表单中获取引用者,你可以通过添加一个隐藏字段来实现。
<form method="POST" action="/your-action">
@csrf
<input type="hidden" name="referrer" value="{{ url()->previous() }}">
<!-- 其他表单字段 -->
<button type="submit">提交</button>
</form>
在上面的例子中,我们通过 { url()->previous() }
作为隐藏字段的值来获取引用者URL,并在表单提交时将其一同提交。
注意:为了确保安全性,请确保在处理引用者URL时进行适当的验证和过滤。
以上是在 Laravel 中获取引用者的几种方法。根据具体的需求和场景,你可以选择适合你的方法来获取引用者URL。