无法将数组参数的请求从Vue发布到带有axios的控制器

时间:2019-05-25 21:35:11

标签: laravel vue.js axios

我正在尝试使用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组件中一样在控制器中获取确切的数据。就像数组一样,我可以循环遍历。

0 个答案:

没有答案