如何在#myTickets容器中显示注册信息?附用户页实现场景
解决方案:在#myTickets容器中显示用户注册信息
咱们先理清楚现有条件:你已经把当前登录用户通过Auth::user()传到了users.index视图里,变量名是$user,接下来只需要把注册信息渲染到指定容器里就行,分两种场景给你说:
场景1:直接在页面渲染(最简单直接)
这是最适合当前场景的方式,因为用户已经在账户编辑页面,直接用已传递的$user变量即可:
- 打开你的
resources/views/users/index.blade.php文件,找到带有id="myTickets"的容器(一般是<div>标签) - 在容器内用Blade语法输出用户的注册字段,示例如下:
<div id="myTickets"> <h3>我的注册信息</h3> <div class="registration-info"> <p><strong>用户名:</strong> {{ $user->name }}</p> <p><strong>注册邮箱:</strong> {{ $user->email }}</p> <p><strong>注册时间:</strong> {{ $user->created_at->format('Y年m月d日 H:i:s') }}</p> <!-- 这里可以根据你的User模型字段,添加其他注册信息,比如手机号、昵称等 --> </div> </div>
场景2:异步AJAX加载(如果需要动态刷新)
要是你需要不刷新页面就更新注册信息,可以用AJAX的方式实现:
第一步:添加控制器方法和路由
- 在
UserController中新增一个返回注册信息的方法:
public function getRegistrationData() { $user = Auth::user(); // 返回需要的注册字段JSON return response()->json([ 'name' => $user->name, 'email' => $user->email, 'created_at' => $user->created_at->format('Y年m月d日 H:i:s') ]); }
- 在路由文件中添加对应路由:
Route::get('/user/registration-data', [ 'uses' => 'UserController@getRegistrationData', 'as' => 'user.registration.data' ]);
第二步:在视图中用JS加载数据
在users.index.blade.php的#myTickets容器下方添加JS代码(这里用jQuery示例):
<div id="myTickets"></div> <script> // 假设你已经引入了jQuery $(document).ready(function() { // 异步请求注册数据 $.get("{{ route('user.registration.data') }}", function(data) { // 组装HTML内容 let infoHtml = ` <h3>我的注册信息</h3> <p><strong>用户名:</strong>${data.name}</p> <p><strong>注册邮箱:</strong>${data.email}</p> <p><strong>注册时间:</strong>${data.created_at}</p> `; // 插入到#myTickets容器中 $('#myTickets').html(infoHtml); }); }); </script>
一般来说,场景1完全能满足你的需求,毕竟用户已经在账户编辑页面,直接渲染数据既简单又高效。
内容的提问来源于stack exchange,提问作者user9659025
相关产品推荐
相关产品推荐

