繁体   English   中英

为什么我在Laravel中收到“未定义[Route [/ login]的错误]”?

[英]Why am i getting “Route [/login] not defined error” in Laravel?

我正在尝试借助HTML表单(刀片文件)和Maincontroller.php内部的函数上传文件(.csv)。 但是,一旦我在上传文件后按下提交按钮,它就会显示错误“ Compiled.php中的InvalidArgumentException”,然后显示“未定义路由[/登录]”。

我的uploadform.blade.php文件是:

<html>
    <body>
        <form method="post" action="/upload-file" enctype="multipart/form-data">
            <input type="file" name="datafile" />
            <button type="submit">Submit!</button>
        </form>
    </body>
</html>

我的uploadFile函数(在MainController.php文件中)签名是:

public function uploadFile() {

    /* ------------------- */

    /* I WANT TO REACH HERE */

    /* ------------------- */
}

并且,在路由文件中(即web.php文件中)是:

Route::post('/upload-file', 'MainController@uploadFile');

附带说明一下,将post关键字替换为get关键字(在刀片和路由文件中)后,会触发uploadFile函数,但是对我来说,这是没有用的,因为文件上传(以及访问csv文件数据)不适用于GET方法。

路由[/ login]未定义。

因此,在某个地方(很可能在刀片文件中),您遇到了类似route('/login') ,应该是route('login')

在整个项目中对/login进行全局搜索并进行修复。 :)

还可以通过在控制台/终端中输入php artisan route:list来检查此路由是否存在。

| Domain | Method    | URI   | Name  | Action                                                  | Middleware |
|--------|-----------|-------|-------|---------------------------------------------------------|------------|
|        | GET|HEAD  | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest  |
|        | POST      | login | login | App\Http\Controllers\Auth\LoginController@login         | web,guest  |

我建议为上传文件,系统需要用户登录。框架会将其重定向到登录路径。 可能您没有Auth路由,这就是为什么得到404。php php artisan make:auth将添加默认路由和视图,然后将其添加到routes.php Auth::routes(); ;。 (如果不存在)检查Laravel文档: https ://laravel.com/docs/5.7/authentication#authentication-quickstart

只需使用uploadform.blade.php文件中的{{csrf_token}}进行修复 认为它不是很明显的解决方案,但已将其修复。 但是,对此任何更多的解释是非常欢迎的。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM