Javascript 将python列表项填充到下拉列表选择器中

Javascript 将python列表项填充到下拉列表选择器中,javascript,python,json,ajax,flask,Javascript,Python,Json,Ajax,Flask,我对烧瓶很陌生。 我有一个python函数,可以从数据库中检索年份列表,但我不能循环遍历该列表并填充到下拉选择器中 我正在使用ajax,但不确定如何使python列表成为javascript的json格式,以填充下拉框中的元素。我现在所做的是将整个列表作为一个选项返回 app.py: @app.route('/getyear', methods = ['POST']) def getyear(): plant = request.form['plant'] if plant:

我对烧瓶很陌生。 我有一个python函数,可以从数据库中检索年份列表,但我不能循环遍历该列表并填充到下拉选择器中

我正在使用ajax,但不确定如何使python列表成为javascript的json格式,以填充下拉框中的元素。我现在所做的是将整个列表作为一个选项返回

app.py:

@app.route('/getyear', methods = ['POST'])
def getyear():
    plant = request.form['plant']
    if plant:
        year_list = mymodule.get_years.tolist()
        return jsonify({'yearList': year_list })
js文件:

function showBudgetYear() {
  $.ajax({
    data: {
      plant: $("#plant-selector").val()
    },
    type: "POST",
    url: "/getyear",
    beforeSend: function() {
      $("#loading").show();
    },
    complete: function() {
      $("#loading").hide();
    }
  }).done(function(data) {
    $("#budget-dropdown").append(`<option value="${data.yearList}">  ${data.yearList} </option>`);
  });
}
函数showBudgetYear(){
$.ajax({
数据:{
工厂:$(“#工厂选择器”).val()
},
类型:“POST”,
url:“/getyear”,
beforeSend:function(){
$(“#加载”).show();
},
完成:函数(){
$(“#加载”).hide();
}
}).完成(功能(数据){
$(“#预算下拉列表”).append(`data.yearList}`);
});
}
index.html:

<select id="budget-dropdown" disabled="disabled">
                            <option value="" selected disabled>select year</option>
                            <option>year 1</option>
</select>

选择年份
第一年

我在.done部分找到了一种循环对象的方法

.done(function(data) {

    for(var i=0 ; i<data.yearList.length; i++){

      $("#budget-dropdown").append(`<option value="${data.yearList[i]}"> ${data.yearList[i]} </option>`);
    }
.done(函数(数据){
对于(var i=0;i