JavaScript POST неAPI запрос с повторяющимися ключами в полезной нагрузке

Javascript. POST запрос. Это не API запрос (axios или fetch), а старый классический запрос.

Мне нужна полезная нагрузка типа ...&_selected_action=5&_selected_action=10. Поэтому я думаю, что не могу использовать здесь технику отправки формы. С одиночным значением ...&_selected_action=5 у меня получается, все работает хорошо. Для повторяющегося значения я могу создать строку вручную или с помощью URLSearchParams().toString(), но я не могу отправить ее.

Есть идеи?

Подробнее. Мне нужно создать этот запрос в приложении Django+Vue, которое частично заменяет старую школу Django Admin. ListView заменен с помощью Vue, и теперь я хочу повторно использовать действия, где Django Admin использует Post запрос, отформатированный как указано выше. Так что с одним выбранным рядом в списке я могу это сделать, но с 2+ выбранными рядами я не могу найти хороший способ, как это сделать.

В моем вопросе выше я не прав, что я не могу использовать метод отправки формы. Конечно, html форма может иметь больше полей с одинаковыми name= и если это так, то ее submit генерирует post запрос именно так, как нужно.

Но пока я создаю форму программно, я не могу заполнить ее из словаря, потому что словарь не может иметь повторяющихся ключей.

Я модифицировал функцию, предложенную Aquajet здесь передаю данные поста с помощью window.location.href и проверяю, если params[key].constructor !== Array. Я конвертирую не массивные значения в массив (с одним элементом) и перебираю такие массивы. Это позволяет мне иметь повторяющиеся значения в параметре (в таком случае я ввожу их как массив) и в форме.

Итак, это ответ на мою проблему. Однако немного странно создавать множество скрытых входов для такой цели. Поэтому мне интересно, есть ли лучший способ создания POST запроса.

Вернуться на верх