我有这一系列的价格,就像这样:
<input type="input" id="prices[type][1]" name="prices[type][1]">
<input type="input" id="prices[type][2]" name="prices[type][2]">
我通过发布请求发送此数据(JSON:是,Content-Type
设置为application/json
),并且当我使用$request->input('prices')
时有望获得一个数组,但这并没有真的发生了。也尝试过$request->get('prices')
。
当我做$request->all()
时,会得到我提交的所有数据:
JS用于发出请求:
const response = await fetch(this.action, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': this.$page.token,
},
body: this.formData(),
});
const body = await response.json();
this.formData()
:
formData(): Object {
const formData = new FormData(this.$el);
return JSON.stringify(Array.from(formData.entries()).reduce((memo, pair) => ({
...memo,
[pair[0]]: pair[1],
}), {}));
},
有人对哪里可能出错有想法吗?
答案 0 :(得分:0)
嗯,即使您执行all()
,看起来数组还是坏了,因为我看不到数组中的type
键。
尝试以下方法:
dd(json_decode($request->getContent(), true));
由于它是JSON,因此您需要获取主体并将其转换为数组。