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, hrconsole.log(selectedValues): A0,A10
/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的值不返回?我尝试过序列化(selectedValues),它返回未定义的、未定义的。
发布于 2021-10-04 16:51:38
弄明白了。必须将JSON.stringify添加到selectedValues中。
$.getJSON('/query_values', {
selected_HR: JSON.stringify(selectedValues),
selected_project: $('#searchProject').val(),
})发布于 2021-10-05 08:42:02
用传统样式对数组参数进行编码。
$.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, hrhttps://stackoverflow.com/questions/69396535
复制相似问题