[英]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.