首页 > 解决方案 > 如何将整个网址作为参数传递?

问题描述

我想让用户扫描二维码并访问网站。这是 url 地址中带有参数的搜索结果,例如

http://example.com/qr-code/http://example.org/search/user_id=12&model_id=4&role_id=8

我的路线设置为

Route::get('qr-code/{data?}/{size?}', 'QrController@qrCode')->name('qr-code');

所以我希望我的 $data 会得到 url:

http://example.org/search/user_id=12&model_id=4&role_id=8

我的控制器有

public function qrCode(Request $request, $data = null, $size = 60) {
    dd(88);
    $data = (empty($data)) ? env('APP_URL') : $data;
    return view('qr.code')->with('qr', QrCode::size($size)->generate($data));
} 

但我什至看不到 dd(88) 路由重定向到主页。我该如何解决?

标签: laravel-5

解决方案


问题是 Laravel 不知道你会提供一个完整的 URL 作为参数。他可以这样解释所有内容: http ://example.com/qr-code/ http: //search/user_id=12&model_id=4&role_id=8 。尝试对 URL 进行不同的编码。您的 $data 将是“http://”,您的大小将是 60。


推荐阅读