web-dev-qa-db-ja.com

laravel 5.1でfullUrlを取得

私は複数のbootstrapタブがあり、それぞれが他のタブとは異なるアクションを実行するためのタブがあります

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

Laravelには、#tab-nameを含む完全なURLを取得する方法があります

御時間ありがとうございます。

20
Just User

以下を確認してください

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

5
user5601240

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 
63
Andrius

それは本当です-今のところ「#」を取得する唯一の方法は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);
});
3
tsveti_iko