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 запроса.