params
имеет один ключ.Цикл for выполняется один раз, и эта строка:
hiddenField.setAttribute("value", params[key]);
… устанавливает значение скрытого поля для массива, сериализованного в строку.
Если вы знаете, что все ваши ключи являются объектами массивапросто зациклите значения и вставьте несколько элементов ввода:
for (let key in params) {
if (params.hasOwnProperty(key)) {
let values = params[key];
for (let value of values) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", value);
form.appendChild(hiddenField);
}
}
}
Если вы не знаете, что все ваши ключи являются массивами, вы можете изменить внутренний код, чтобы разделить входящие значения на запятую.Обратите внимание, что это сломается для любых значений, которые буквально содержат ,
.
@mod.route('/page',methods=["POST","GET"])
def page():
if request.method=="POST":
d = request.form['data']
d_array = d.split(',')
return render_template('testing/page.html',data=d_array)
return render_template('testing/page.html')