Я использую Axios для загрузки нескольких файлов и некоторых других вещей. Среди этого прочего есть массивы целых чисел (из флажков) и некоторые логические значения.
Сначала я попробовал это:
axios.post(this.route, {
name: this.name,
...
photos: this.photos
})
И все было прекрасно, за исключением того, что серверная часть получала фотографии в виде пустых объектов.
Поэтому я попробовал следующее
let formData = new FormData()
formData.append('name', this.name)
...
for(let i = 0; i < this.photos.length; i++) {
let photo = this.photos[i]
formData.append('photos['+i+']', photo)
}
axios.post(this.route, formData)
И фотографии работали просто отлично, но другие данные, такие как массивы и логические значения из радиоприемников, начали работать неправильно. FormData превращает их в strin, и до того, как бэкэнд получал их как массивы и логические значения, я хочу этого. Я использую Laravel в качестве бэкэнда, и проверки не проходят этот путь.