Как отправить массив и данные формы с помощью axios — Vue

#vue.js #vuejs2 #axios

Вопрос:

я работаю над проектом vue / laravel и хочу отправить массив и данные формы с помощью axios .

это мой код:

 submit(){
    //The FormData
    const formData = new FormData
    formData.set('images', this.imagesInfo)

    //The Array
    this.product ={
        data: this.data, 
        option: this.option
    }

    //How can i send *this.product* and *formData* ?
    axios.post('/admin/product/add', ****)
}
 

Как я могу отправить этот.продукт и данные формы с помощью axios?

Комментарии:

1. Ваш «массив» — это не массив, это объект. Как вы хотите отправить его, как JSON или application/x-www-form-urlencoded ? Как вы собираетесь читать его на стороне сервера?

Ответ №1:

В данных формы вы не можете отправлять массив напрямую.

Чтобы отправить массив, formdata вам нужно запустить a loop и передать значения, подобные этому:

 const array = [1,2,3,4,5,6];

const formData = new FormData();

array.forEach(function(value) {
  formData.append("id[]", value) // you have to add array symbol after the key name
})