Отправить несколько входов, используя formData () - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу использовать запрос AJAX и могу отправить несколько входов, поэтому для этого я использую FormData.

Я понятия не имею, как добавить несколько входов с одним и тем же именем ("name []") , Я попробовал этот метод, но как-то он не работает. Я не знаю, как правильно это сделать, я пробовал много способов, но это просто не сработает. Спасибо за продвижение!

<input type="text" name="test[]">

let formData = new FormData();
formData.append('test[0]',1);
formData.append('test[1]',2);
formData.append('test[2]',3);

axios({
    method:'post',
    url:'url',
    data:formData,
    config:{headers:{'Content-Type':'multipart/form-data'}}
}).then(function(response){
    console.log(response);      
});

1 Ответ

0 голосов
/ 21 апреля 2020

Если ваш серверный код на самом деле ожидает application/x-www-form-urlencoded тело запроса, а не multipart/form-data, попробуйте что-то вроде этого

axios.post('url', new URLSearchParams([
  ['test[]', 1],
  ['test[]', 2],
  ['test[]', 3]
])).then(response => console.log(response))

Когда URLSearchParams сериализовано в строковый формат, он выглядит как

"test%5B%5D=1&test%5B%5D=2&test%5B%5D=3"

, и Ax ios автоматически установит заголовок Content-type на application/x-www-form-urlencoded

...