我正在尝试使用axios帖子将数组从我的Vue传递到我的控制器。但是,如果我想从请求中获取数据,则不会使用数组格式。
我也尝试了JSON.stringyfy()
对象。
我要发送的vue数据
parts: [],
axios帖子
const config = {
headers: {'content-type': 'multipart/form-data'}
};
let formData = new FormData();
formData.append('title', this.title);
formData.append('description', this.intro);
formData.append('parts[]', this.parts);
formData.append('pictures', this.selectedPictures);
formData.append('options', JSON.stringify(this.options));
valid = true;
if (valid) {
axios.post('/admin/oefeningen/oefening-opslaan', formData, config)
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error.data);
});
}
控制器
public function save(Request $request)
{
try {
//get request info
return response($request->input('parts'));
} catch (\Exception $exception) {
return response($exception->getMessage());
}
}
我正在传递的Vue数据
parts = ["sdfsdfsdf", "sdfsdfsdfsfsdf"]
响应结果
sdfsdfsdf,sdfsdfsdfsfsdf (as string, not as array)
追加循环
let formData = new FormData();
formData.append('title', this.title);
formData.append('description', this.intro);
for (let i = 0; i < this.parts.length; i++) {
formData.append('parts', this.parts[i]);
}
我想像在vue组件中一样在控制器中获取确切的数据。就像数组一样,我可以循环遍历。