我正在尝试使用 axios 从 Vuejs 前端向后端的 Laravel 发送发布请求。const data = { file: {id} } axios.post('api/documents/remove', data).then((response) => { console.log(response.data); } }).catch(err => { console.log(err.response.data); })在 laravel 中,我像这样打印请求, public function removeFile(Request $request) { dd($request); }这是我的输出。Illuminate\Http\Request {#51 #json: Symfony\Component\HttpFoundation\ParameterBag {#43 #parameters: array:8 [ "file" => array:1 [ "id" => 61 ]}
3 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
PHP 的“数组”并不是真正的数组,它们是有序的映射。这就是您的输出显示的内容,请求包含参数,这是一个有序映射,并且参数是其中file
包含的有序映射。id => 61
在 JavaScript 中,这将是一个对象(或者Map
,有时);在许多其他语言中,它可能是某种地图或字典。PHP 将它们称为数组。
不管怎样,如果你访问file
参数(我不“做”Laravel,所以我不知道你是如何做到的),你可以id
像这样从中获取:$file[
id ]
。看看Laravel 文档,看起来是这样的:
$file = $request->input('file');
$id = $file['id'];
米脂
TA贡献1836条经验 获得超3个赞
请求$request
传递的是数组而不是对象实例,因此,您只能像下面这样访问:
$request->input('file')['id']
或者
$request->file['id']
或者
$request->input('file.id')
或者,仅文件字段
$request-all()[0]['file']['id']
慕容708150
TA贡献1831条经验 获得超4个赞
您可以获取 $request 的数据为
$file = $request->input('file');
$file['id'];
//Or
$fileId = $request->input('file.id');
添加回答
举报
0/150
提交
取消