formdata.append не работает должным образом и перезаписывает вместо добавления существующего значения - PullRequest
0 голосов
/ 09 мая 2019

В соответствии с документами MDN 'append' добавляет значение, а 'set' переопределяет значение;Поэтому приведенный ниже код в идеале должен дать мне Chris&Chris1&Chris2;Но вместо этого я получаю Chris&

мое понимание неверно?если да, то каков правильный подход к получению Chris&Chris1&Chris2?

var formData = new FormData();
formData.append('username', 'Chris&');
formData.append('username', 'Chris1&');
formData.append('username', 'Chris2');
formData.get('username')

1 Ответ

1 голос
/ 09 мая 2019

Вам нужно использовать getAll вместо get получить всю документацию

var formData = new FormData();
formData.append('username', 'Chris&');
formData.append('username', 'Chris1&');
formData.append('username', 'Chris2');
formData.getAll('username')

formData.getAll('username') вернет массив (3) ["Chris&", "Chris1&", "Chris2"]


Вы можете пойти дальше и присоединиться к нему с пустой строкой

formData.getAll('username').join('') для получения ожидаемых результатов.


formData.getAll('username').join() даст вам csv

Chris&,Chris1&,Chris2

...