У меня есть несколько загрузочных вкладок, где каждый из них выполняет разные действия из других вкладок для exmaple
app-url/users#creat-admin-users-tab
app-url/users#creat-regular-users-tab
Есть ли способ в Laravel получить полный URL-адрес, включая # tab-name
Спасибо за ваше время.
Проверьте следующее
$_SERVER['HTTP_HOST'] => Host name from the current request.
$_SERVER['HTTP'] => Set to a non-empty value if the protocol is HTTP
$_SERVER['HTTPS'] => Set to a non-empty value if the protocol is HTTPS
$_SERVER["SERVER_PORT"] => Server port. Default is: 80
$_SERVER['REQUEST_URI'] => The URI to access this page;
Laravel имеет функциональность, чтобы вернуть вам текущий URL. Он указан на этой странице: http://laravel.com/api/5.0/Illuminate/Http/Request.html
То, что вы ищете, это Request::fullUrl()
.
Скажем, я нахожусь на http://laravel.dev/test?test=1 , вот методы и результаты:
Request::fullUrl() // Returns: http://laravel.dev/test?test=1 Request::url() // Returns: http://laravel.dev/test Request::path() // Returns: test Request::root() // Returns: http://laravel.dev
Это правда – единственный способ получить «#» на данный момент – использовать js, например, так:
var hash = window.location.hash; var tabName1 = '#creat-admin-users-tab'; var tabName2 = '#creat-regular-users-tab'; if (hash.indexOf(tabName1) !== -1) console.log("It's creat-admin-users-tab"); else if (hash.indexOf(tabName2) !== -1) console.log("It's creat-regular-users-tab");
И это может помочь вам в других частях URL-адреса (добавьте его в файл маршрута):
use Illuminate\Http\Request; Route::get('/app-url/users', function (Request $request) { $fullUrl = $request->fullUrl(); var_dump($fullUrl); });