【问题标题】:Passing array of selected values from select2 multiple to Flask将选定值的数组从 select2 多个传递到 Flask
【发布时间】:2021-09-30 17:29:02
【问题描述】:

html:

<form method="POST">
    <span id="searchProject" style="width: 50%"></span>
    <span id="searchHR" style="width: 50%"></span>
</form>

jquery:

function loader() {
    var selectedValues = [];
    $("#searchHR:selected").each(function(){
        selectedValues.push($(this).val());
    });
    console.log(selectedValues);

    $.getJSON('/query_values', {
        selected_HR: selectedValues,
        selected_project: $('#searchProject').val(),
    })
}

烧瓶:

@app.route('/query_values', methods=['POST'])
def query_values():
    project = request.args.get('selected_project', type=str)
    hr = request.args.get('selected_HR')
    print(hr)
    return project, hr

console.log(selectedValues): [A0, A10]

GET /query_values?selected_HR%5B0%5D%5Bname%5D=0&selected_HR%5B0%5D%5Bvalue%5D=A0&selected_HR%5B1%5D%5Bname%5D=1selected_HR%5B1%5D%5Bvalue%5D=A10&selected_project=Catch123 HTTP/1.1

print(hr):

为什么hr 的值返回None?我试图序列化(selectedValues),它返回 undefined undefined。

【问题讨论】:

    标签: jquery flask


    【解决方案1】:

    想通了。必须将 JSON.stringify 添加到 selectedValues。

    $.getJSON('/query_values', {
        selected_HR: JSON.stringify(selectedValues),
        selected_project: $('#searchProject').val(),
    })
    

    【讨论】:

      【解决方案2】:

      使用传统样式编码数组参数。

      $.getJSON({
          url:'/query_values', 
          data:{
              selected_HR: selectedValues,
              selected_project: $('#searchProject').val(),
          },
          traditional:true // important !!
      });
      

      使用getlist方法获取数组参数

      @app.route('/query_values', methods=['POST'])
      def query_values():
          project = request.args.get('selected_project', type=str)
          hr = request.args.getlist('selected_HR')
          print(hr)
          return project, hr
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多