繁体   English   中英

从ajax发送数组到Flask不工作

[英]send array from ajax to Flask not working

我试图通过ajax post调用将数组发送到flask。 但不知怎的,它不起作用。

使用Javascript

<script type="text/javascript">
        function fillChart()
        {

            var nids = document.getElementById("nodes-select").value;
            var cfilter = document.getElementById("filter-select").value;
            var chkd = document.getElementById("further-select");
            var cids = [];
            for (var i=0;i<chkd.length;i++)
            {

                if(chkd[i].selected)
                {
                    cids.push(chkd[i].value);
                }
            }

            alert(cids);
            $.post("/pie",{"node_id":nids,"col_select":cfilter,"col_filter":cids},function(data,status)
            {
                var tmp = data;            
                console.log(data.otstr);                     

            });           
        }
 </script>

服务器代码

@app.route('/pie',methods=['POST'])
def pie():
    tmp1 = request.form.get('node_id')  
    tmp2 = request.form.get('col_select')   
    tmp3 = request.form.get('col_filter[]') 
    return jsonify(otstr=[tmp1,tmp2,tmp3])

这里tmp1和tmp2只是字符串而tmp3是strings.console.log(data.otstr)的数组正在打印tmp1,tmp2的正确值,但是当它涉及到tmp3,因为它是一个数组,它只打印第一个元素。

您需要将col_filter检索为列表:

tmp3 = request.form.getlist('col_filter[]')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM