2017-10-05 69 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书面和检查呢? –