【问题标题】:Laravel 5 Redirect::to with multiple parametersLaravel 5 Redirect::to 带有多个参数
【发布时间】:2015-06-06 07:02:59
【问题描述】:

我需要在 Laravel 5 中将多个参数传递给重定向。我尝试了以下操作,但它给了我错误“HTTP 状态代码“1”无效。”

return Redirect::to('availability', array('date' => urlencode(Session::get('bookingFormData.date')), 'expired' => 'true'));

我的路线设置如下:

Route::get('availability', 'BookingController@checkavailability');

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    标题应该是第三个参数。第二个是 HTTP 状态码。因此,Laravel 抱怨您传递的数组无法转换为 HTTP 状态代码。

    添加一个有效的状态码(例如 200 表示“OK”)作为第二个参数,你应该没问题。 :)

    编辑:再想一想,我认为您也没有尝试将 HTTP 标头作为第三个参数发送。你需要把这些东西放在会话中,例如像这样:

    return redirect('availability')->with('yourParams', $yourArray);
    

    【讨论】:

    • 所以我无法重定向到 /availability?date=xyz&expired=true
    • 当然,您可以使用php.net/manual/en/function.http-build-str.php 附加它,或者在这里查看安东尼奥的答案:stackoverflow.com/questions/25765874/…
    • 所以我尝试了return Redirect::route('availability', ['test' => 1]);,但仍然没有运气。现在它给了我Route [availability] not defined.
    • 我设法使用return Redirect::route('availability', ['date' => 'test', 'expired' => 'true']); 让它工作 - 但是,如果我尝试将日期值传递为 '05/09/2015' 它不会发送该值。我也尝试过 urlencode() 但仍然没有运气......
    • @V4n1ll4 您可以将其作为 unix 时间戳 strtotime('05/09/2015') 发送并传递。
    猜你喜欢
    • 2015-07-13
    • 2016-08-05
    • 2016-05-23
    • 2015-10-19
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    相关资源
    最近更新 更多