【问题标题】:send array from ajax to Flask not working将数组从 ajax 发送到 Flask 不起作用
【发布时间】:2016-01-12 06:50:47
【问题描述】:

我正在尝试通过 ajax 后调用将数组发送到烧瓶。但不知何故,它不起作用。

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 是一个字符串数组。console.log(data.otstr) 正在打印 tmp1,tmp2 的正确值,但是当涉及到 tmp3 因为它是一个数组时,它正在打印仅第一个元素。

【问题讨论】:

标签: javascript python json ajax flask


【解决方案1】:

您需要以列表的形式检索col_filter

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多