Laravel 8中$message未定义求助:控制器向视图传值失败
Laravel视图传值报错$message未定义的解决方法
问题核心:你的路由直接返回了hello视图,没有调用控制器里的sayHello方法,导致视图根本没收到传递的$message变量。
解决方案:
- 修改
web.php的路由,让它指向控制器的方法:
Route::get('/', [App\Http\Controllers\HelloWorld::class, 'sayHello']);
确认控制器的传值方式(两种都有效,选一种即可):
- 数组传值(你当前用的方式):
return view('hello', ['message' => 'Hi Victoria']);with方法传值:
return view('hello')->with('message', 'Hi Victoria');修正视图的HTML结构错误(虽然不影响传值,但会导致页面结构异常):
你的视图里嵌套了多余的<html>标签,修正后代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>App title</title> </head> <body> <h1>Hello, {{ $message }}</h1> </body> </html>
不需要额外配置,只要确保路由正确关联到控制器方法,视图就能正常接收变量。
内容的提问来源于stack exchange,提问作者amelia Mendes
相关产品推荐
相关产品推荐

