[英]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.