2017-10-05 68 views
-1

我已經研究了這個類似問題的所有以前的答案,但我找不到任何。notfoundhttp異常,但發佈請求

我只是訪問我所做出的自定義

路線

Route::post('dashboard', 'Admin\[email protected]'); 

UserController.php

<?php 
namespace App\Http\Controllers; 

use DB; 
use Session; 
use App\Http\Requests; 
use Illuminate\Http\Request; 

class UserController extends Controller 
{ 
    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('auth'); 
    } 

    /** 
    * Show the application dashboard. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index(Request $request) 
    { 
     echo "welcome" 

    } 
} 

當我嘗試這個功能,它拋出我

NotFoundHttpException在RouteCollection.php線161:

錯誤。 更新

我的所有路由都

Route::get('/', function() { 
    return view('welcome'); 
}); 

// Authentication routes... 
Route::get('auth/login', 'Auth\[email protected]'); 
Route::post('auth/login', 'Auth\[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 

// Registration routes... 
Route::get('auth/register', 'Auth\[email protected]'); 
Route::post('auth/register', 'Auth\[email protected]'); 

// Dashboard routes 
Route::post('dashboard', 'Admin\[email protected]'); 
Route::controllers([ 
    'password' => 'Auth\PasswordController', 
]); 
+0

'Admin'是控制器之前的目錄名? –

+0

'php artisan route:list'檢查路由列表問題 –

回答

0

命名空間,你需要在你的控制器

namespace App\Http\Controllers\Admin; 

添加管理員因爲在你的路線,你有聯繫

Route::post('dashboard', 'Admin\[email protected]'); 

更新

根據您的評論您是通過
http://localhost/travelling/dashboard訪問,但如果你正在使用本地主機,那麼你必須添加公共

http://localhost/travelling/public/dashboard 

還要確保自POST reuqest你不能訪問URL直接從browser.you需要使用捲曲或HTML形式CSRF令牌

更新 既然你已經在構造函數中添加$this->middleware('auth');所以你必須登錄

+0

爲什麼?你能解釋一下嗎? –

+0

檢查我的答案.i已更新 – iCoders

+0

不工作:(.. –

0

至於你提到的問題,它沒有得到控制的命名空間的路徑:

嘗試與此 namespace App\Http\Controllers\Admin;

更改命名空間和您的路線將是這樣的:Route::post('dashboard', '[email protected]');

+0

沒有工作:(... –

+0

@JayminNoob更改路線也 –

+0

沒有工作:( –

0

在您使用的用戶控制器

namespace App\Http\Controllers; 

這是不正確的w ith你正在使用的路線。它應該是命名空間

App\Http\Controllers\Admin; 

其次,這將是適當的,如果你有儀表板的路線爲得到:

Route::get('dashboard', 'Admin\[email protected]'); 

路線

Route::post('dashboard', 'Admin\[email protected]'); 

UserController.php

<?php 
namespace App\Http\Controllers\Admin; 

use DB; 
use Session; 
use App\Http\Requests; 
use Illuminate\Http\Request; 

class UserController extends Controller 
{ 
    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('auth'); 
    } 

    /** 
    * Show the application dashboard. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index(Request $request) 
    { 
     echo "welcome" 

    } 
} 
+0

試過沒有工作INFACT我的所有路由都沒有工作 –

+0

你直接在路由/ web.php書面和檢查呢? –