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

Laravel 8 HTTP Client API URL传参错误排查求助

Laravel 8 HTTP Client传递URL参数错误的问题分析与解决

错误点总结

  • 控制器未接收路由参数:index方法没有声明接收路由中的{b}参数,无法获取前端传递的日期值。
  • HTTP请求占位符未替换:Http::get中的{b}是字符串字面量,不会自动替换为实际参数,导致API请求路径错误。

修正后的代码示例

1. 控制器代码

public function index($b)
{
    // 方式1:直接拼接参数到URL(简单直观)
    return Http::get("https://wetonizer-api.herokuapp.com/{$b}");

    // 方式2:使用Laravel HTTP客户端的参数替换机制(更安全,自动处理编码)
    // return Http::get('https://wetonizer-api.herokuapp.com/{date}', [
    //     'date' => $b
    // ]);
}

2. 视图代码(优化变量使用)

<td>{{ $booking->tanggal_pemesanan }}</td>
<td><a href="/{{ $booking->tanggal_pemesanan }}">CEK</a></td>

3. 路由代码(可选:添加参数格式约束)

// 限制参数为日期格式(比如YYYY-MM-DD),避免无效请求
Route::get('/{b}', [TestController::class, 'index'])->where('b', '[0-9]{4}-[0-9]{2}-[0-9]{2}');

修正说明

  • 控制器方法添加$b参数后,Laravel会自动将路由匹配到的参数值注入进来,确保能拿到前端传递的日期。
  • HTTP请求时必须将占位符替换为实际参数值,两种方式都可行,第二种参数替换机制会自动处理URL编码,更适合特殊字符场景。
  • 视图中避免在输出标签内做变量赋值,直接使用模型属性更清晰易维护。

内容的提问来源于stack exchange,提问作者NIKOLAUS TRIWINDI ARVIANTO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:05:39