关于 Session::has ('message'), Session::has ('success'), Session::has ('danger') 问题?

@if (Session::has('message'))

× {{ Session::get('message') }}

@endif

@if (Session::has('success'))

× {{ Session::get('success') }}

@endif

@if (Session::has('danger'))

× {{ Session::get('danger') }}

@endif

请问这里问什么要用Session, 前面的代码并没有给 Session 写入数据

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
Jourdon
最佳答案
public function update(UserRequest $request, User $user)
{
    $user->update($request->all());
    return redirect()->route('users.show', $user->id)->with('success', '个人资料更新成功!');
}

这里的 with 会把 success 写入 Session.

我刚刚给你回复完,提交, 居然报错,你删除了之前的那个问题?? 害我重写一遍。。

5年前 评论
讨论数量: 4
Jourdon
public function update(UserRequest $request, User $user)
{
    $user->update($request->all());
    return redirect()->route('users.show', $user->id)->with('success', '个人资料更新成功!');
}

这里的 with 会把 success 写入 Session.

我刚刚给你回复完,提交, 居然报错,你删除了之前的那个问题?? 害我重写一遍。。

5年前 评论

@王东哲 刚才我本想粘贴截图, 结果粘贴失败, 所以我就把第一次提问删除了,
with 方法可以给前端blade页面传递数据, 那么with是通过session进行数据传输的?
还有 'danger' 和 'message' 从哪里获得?
非常感谢!!!

5年前 评论
Jourdon

@jack007

页面刷新了,不过什么都没发生,其实这是因为 UserRequest 验证不通过,带着错误提示跳转回来了,不过因为我们未对错误提示进行处理,所以什么都没发生。接下来我们创建 error.blade.php 文件来渲染错误提示:

要仔细看书,这里已经说了。UserRequest 验证不通过,带着错误提示跳转回来了,你可能理解为表单请求验证 (FormRequest) 会把错误信息自动写入Session, 这是其它一种。别一种就是 with 方法也就是我们手动写入的 Sessions ,

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!