Php Laravel使用附加的';获取请求结果';性格
在使用GET请求时,我在Laravel中发现了一个奇怪的错误。 我通过javascript执行get请求,如下所示:Php Laravel使用附加的';获取请求结果';性格,php,laravel,get-request,Php,Laravel,Get Request,在使用GET请求时,我在Laravel中发现了一个奇怪的错误。 我通过javascript执行get请求,如下所示: window.location = "messages/clone?id=" + anchorID + '&name=' + newMessageName; 我正在控制器内部立即使用dd($request)。理想的行为是 Request->request->parameters: array:2[ 'id' => 'value' 'name' =>
window.location = "messages/clone?id=" + anchorID + '&name=' + newMessageName;
我正在控制器内部立即使用dd($request)
。理想的行为是
Request->request->parameters: array:2[
'id' => 'value'
'name' => 'value'
]
但我有这样的输出:
Request->request->parameters: array:2[
'?id' => 'value'
'name' => 'value'
]
你会注意到在“id”前面有一个额外的“?”符号。我想知道这是什么原因
提前感谢,,
Alex您正在转储的参数是
Route::get()
方法的参数。“?”`s mean是参数的可空值
如果要访问get参数,应使用:
$request->query('id');
阅读更多信息:你能发布完整的目的地url吗?非常确定你的url中的
?
翻了一倍,这是我看到的唯一合乎逻辑的解释。如果它不在前端的URL中,那么它可能会被内部重写搞得一团糟。URL:有趣的是,它在我的本地环境中工作,它只发送“id”而不是“id”,而在服务器上数据不同。我使用的是同一版本的Laravel.add/
像这样,并尝试它messages/clone/?id=
您可以通过执行request()->get('id')
dd wholerequest()
来访问查询参数,如果这是您想要看到的。在dd($request)中id的查询参数旁边还有一个“?”。能否发布您的Route::get方法?Route::get('clone','TemplatesController@clone');但你也有一条家长路线。将此块放在路线的顶层并进行测试。路由::get('/test',函数(){dd(request());});然后点击/测试?id=5