Php Get请求中的Laravel键值对
我正在使用Laravel5.4和Axios向后端发出异步请求,并根据api端点的get请求参数检索数据 我可以在inspector中看到我正在向服务器发出以下请求:Php Get请求中的Laravel键值对,php,laravel,vue.js,request,axios,Php,Laravel,Vue.js,Request,Axios,我正在使用Laravel5.4和Axios向后端发出异步请求,并根据api端点的get请求参数检索数据 我可以在inspector中看到我正在向服务器发出以下请求: https://website.com/api/users?page=1&sort=%7B%22fieldName%22:%22lname%22,%22order%22:%22asc%22%7D&filter= 解码为: https://website.com/api/users?page=1&sort={
https://website.com/api/users?page=1&sort=%7B%22fieldName%22:%22lname%22,%22order%22:%22asc%22%7D&filter=
解码为:
https://website.com/api/users?page=1&sort={"fieldName":"lname","order":"asc"}&filter=
看起来我可以通过以下方式成功获取查询片段:
return $request->query('sort');
返回:
data:
fieldName: "lname"
order: "asc"
但当我使用:
return $request->query('sort.fieldName');
我什么也没得到。我不应该用这个吗?如何获取排序输入的每个键/值对?谢谢你的帮助 我认为可以使用点符号,但无论如何,您可以尝试将它从
json
转换为关联数组
$sort = json_decode($request->query('sort'), true);
这将允许您执行类似于,
$sort['fieldName']
的操作。true
参数告诉解码器将其转换为关联数组,而不是返回对象。请转到storage/logs/laravel.log
。检查页面底部显示的错误消息。我不是专家,所以帮不了你多少忙。但我这么说是因为大多数时候我使用这个文件进行调试,实际上我只是返回值,然后将其记录在前端的控制台中。我没有从return$request->query('sort.fieldName')中得到任何错误代码>仅返回空白数据。好主意!您不能使用点表示法,因为laravel需要一个字符串,它不知道sort
是json
,所以上面的内容允许您手动执行。谢谢@Tom Bird。这正是我所需要的。不知道json_decode的assoc参数,也不知道Laravel需要字符串。有道理!没问题,很高兴我能帮忙!