在javascript中,我这样做:
axios.post('/api/categories', {
topCategories: JSON.stringify({ data: ['a', 'b', 'c', 'd', 'e'] })
})
然后,在Laravel中,我收到了:
protected function getCategories(Request $request) {
$topCategories = $request->topCategories;
var_dump(json_decode($topCategories));
}
但是,我总是在
var_dump
中收到null!为什么会这样呢? 最佳答案
您不需要使用JSON.stringify。 Axios自行完成。
axios.post('/api/categories', {
topCategories: ['a', 'b', 'c', 'd', 'e']
})
为了处理POST有效负载,请在Laravel中使用
$request->input()
。protected function getCategories(Request $request) {
$topCategories = $request->input('topCategories');
dd($topCategories);
}
需要明确说明的是:问题不在服务器端。您在那里正确完成了所有操作,并且可以使用
$request->topCategories
从POST有效负载中检索数据。但是ajax有效负载构建不正确。