You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel调整视图返回顺序并避免页面重定向问题

解决方案

核心问题修正

你当前代码里第一个return view('home.paymentconfirm',...)会直接终止方法执行,后面的return view('home.checkout')永远不会被触发,这是无法显示checkout视图的根本原因。

修改后的控制器代码

public function checkoutpage(Request $request)
{
    // 一次性提取所需请求参数,简化代码
    $viewData = $request->only(['name', 'guests', 'duration', 'to', 'date', 'tid']);
    
    // 原代码中booking查询未赋值使用,若需用到查询结果可取消注释
    // $bookingId = booking::select('id')->where('name', $viewData['name'])->value('id');
    // 如需传递bookingId,可修改return为:return view('home.checkout', [...$viewData, 'bookingId' => $bookingId]);

    // 优先返回checkout视图并传递数据
    return view('home.checkout', $viewData);
}

视图代码适配(变量名对应)

因为我们直接传递了请求参数的键值对,视图里要使用正确的变量名:

<div class='wp'>Guests<h2>{{$guests}}</h2></div>
<div class='wp'>Type<h2>VIP</h2></div>
<div class='wp'>Time<h2>{{$duration}}</h2></div>
<!-- 如需展示其他字段,例如姓名:<div class='wp'>Name<h2>{{$name}}</h2></div> -->

关键说明

  • 直接返回视图而非重定向,完全满足不跳转的需求,不会产生额外HTTP请求
  • 使用$request->only()替代逐个变量赋值,减少冗余代码
  • 原代码中booking查询属于无效执行(未赋值使用),若需用查询结果,记得赋值后传入视图

内容的提问来源于stack exchange,提问作者Cosmo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:31:01