我的页面 test_page 的 url
http://domain.sd/test_page
位于地址栏中。
我在 ajax 响应的同一页面中使用了带有 url filter_details 的控制器。我想获取地址栏中的地址。
现在我只能获取ajax请求url
$url=\Request::getRequestUri();
echo $url; // output: filter_details
如何获取地址栏中的地址
PHP 服务器只知道请求的上下文。
如果您使用其他 URL 进行 ajax 请求,PHP 无法知道浏览器地址栏中显示的当前地址。
尝试使用ajax请求通过参数/数据传递地址栏中的url。您可以使用
window.location
在客户端浏览器中获取当前地址,并将其作为查询或负载数据与您的请求一起传递,具体取决于您的 ajax 方法(GET 或 POST)。
您可以在 Laravel 中使用以下命令获取浏览器的 URL:
\Request::server('HTTP_REFERER');
或者在 PHP 中你可以使用
$_SERVER['HTTP_REFERER'];
HTTP Referer 标头由用户代理设置,包含页面的 URI。例如,如果您单击页面 abc.com/page 上的链接转到 another-pqrl.com/link,则 another-pqrl.com/link 收到的 HTTP Referer 将具有值 abc.com/page。
在 laravel 版本 5.5 中,我使用 $templateAppSlug = \Request::server('HTTP_REFERER');我得到 URL 作为输出值。