2015-11-13 3 views
13

У меня есть несколько вкладок начальной загрузки, где каждый из них делают различные действия от других вкладок для exmapleПолучить fullUrl в Laravel 5,1

app-url/users#creat-admin-users-tabapp-url/users#creat-regular-users-tab

Есть ли способ в Laravel, чтобы получить полный URL, включая # табуляции имя

Спасибо за ваше время.

+0

ни в коем случае мне нужно URL-адрес не вся моя информация о сервере –

+0

Теперь, когда вы хотите его получить? Как вы хотите использовать его в лезвии или где-то в вашем jquery или так? –

ответ

5

Проверить следующее

$_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;

47

У 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 
+1

Я использовал его до того, как он вернет весь url, но без '# tab-name' –

+2

Сервер не знает, какой контент после * # *, это только для пользователя. Вы должны добавить его сами. – Andrius

+1

все вкладки, в том числе в одном маршруте, с использованием 'Route :: match', поэтому я хочу проверить, что текущая вкладка выполняет правильное действие . Я считаю, что лучшим способом в этом случае является' $ request-> isMethod ('') ' но я не знаю, что я делаю, если есть несколько способов отправки или отправки. –

1

Это правда - единственный способ получить "#" на данный момент является использование 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); 
});