Я пытаюсь передать массив из моего vue моему контроллеру с сообщением axios.Но если я хочу получить данные из запроса, я не получаю их в формате массива.
Я пробовал также с объектом также 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,Как массив, который я могу перебрать.