【发布时间】: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 因为它是一个数组时,它正在打印仅第一个元素。
【问题讨论】:
-
你试过
request.form.get('col_filter') -
是的。当我使用 console.log(data.otstr) 打印它时,它给了我空值
标签: javascript python json ajax flask