JavaScript. Solicitud POST. No es una solicitud de API (axios o fetch), sino la solicitud clásica antigua.
Necesito una carga útil como ...&_selected_action=5&_selected_action=10 . Así que creo que no puedo usar una técnica de envío de formularios aquí. Con una sola ocurrencia ...&_selected_action=5 puedo hacerlo (formulario enviado como Aquajet @ pasar datos de publicación con window.location.href ), todo funciona bien. Para el valor repetido, puedo crear la cadena a mano o mediante URLSearchParams().toString() pero no puedo enviarla.
¿Alguna idea?
Más detalles. Necesito crear esta solicitud en la aplicación Django+Vue que reemplaza parcialmente a la vieja escuela Django Admin. El ListView se reemplaza usando Vue y ahora quiero reutilizar las acciones donde Django Admin usa la solicitud de publicación con el formato anterior. Entonces, con una sola fila seleccionada en la lista, puedo hacerlo, pero con más de 2 filas seleccionadas, no puedo encontrar una buena manera de hacerlo.
En mi pregunta anterior, no soy cierto que no puedo usar el método de envío de formularios. Por supuesto, el formulario html puede tener más campos con el mismo name= y, de ser así, su envío genera una solicitud de publicación exactamente como se necesita.
Pero mientras creo el formulario mediante programación, no puedo llenarlo desde el diccionario, porque el diccionario no puede tener claves repetidas.
Así que modifiqué la función propuesta por Aquajet aquí, paso los datos de la publicación con window.location.href y compruebo si params[key].constructor !== Array . Convierto valores que no son de matriz en matriz (con un solo elemento) y recorro dichas matrices. Esto me permite tener valores repetidos en el parámetro (en tal caso los ingreso como una matriz) y en el formulario.
Entonces, esta es la respuesta a mi problema. Sin embargo, es un poco extraño crear muchas entradas ocultas para tal objetivo. Así que estoy interesado si hay una mejor manera de crear la solicitud POST.