我正在构建一个网页,以显示数据表中的所有成员帐户信息。因此,我用GET方法为此创建了一个“members”端点。你知道吗
该网页有两个选择字段,用于选择区域和成员类型,以筛选出数据表中显示的成员。你知道吗
成员的终点是这样的
@members.route('/members/<int:region_id> <string:member_type>',
defaults={'page': 1})
def members(page, region_id=0, member_type='basic'):
member_accounts = MemberModel.query
.filter_by(region_id=region_id)\
.filter_by(member_type=member_type)\
.paginate(page, 25, True)
return render_template('members.html', member_accounts=member_accounts,
region_choices=region_choices,
type_choices=type_choices)
// region_choices and type_choices are dict type data
因此,默认的url是domain/members/0%20basic,它显示来自区域0的成员,类型是basic。你知道吗
在成员.html,我做了两个选择字段来过滤数据。还有一个脚本,通过单击submit按钮将GET请求发送到具有选定变量的端点。你知道吗
<script>
function GetFilteredMembers(){
var regions = document.getElementById("filter-region");
var region_selected = regions.options[regions.selectedIndex].value
var mem_types = document.getElementById("filter-mem-type");
var mem_type_selected = mem_types.options[mem_types.selectedIndex].value
var Url = "domain/members/" + region_selected + "%20" + mem_type_selected;
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", Url, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}
</script>
<select id="filter-region">
{% for value, text in region_choices.items() %}
<option value="{{ value }}">{{ text }}</option>
{% endfor %}
</select>
<select id="filter-mem-type">
{% for value, text in mem_type_choices.items() %}
<option value="{{ value }}">{{ text }}</option>
{% endfor %}
</select>
<input class="btn -light" type="submit" onclick="GetFilteredMembers()">Submit</input>
当我选择region\u id为1,member\u type为admin时,单击submit按钮。我希望该网站将直接到我想要的网址(域/成员/1%20admin)。但这是无法直接到我想要的网址。我怎样才能正确地完成这样的过滤功能?你知道吗
用javascript构造GET请求url是首选的方法吗? 因为我必须用javascript硬编码这个域。我应该为过滤建立另一个端点吗?你知道吗
更新
将端点修改为“/member/”
added request.get.args('region_id')
added request.get.args('member_type')
还将javascript中的url修改为
'var params = "?" + "region_id=" + region_id_selected + "&member_type=" + mem_type_selected";'
以及
'var Url = "/members/" + params;'
目前没有回答
相关问题 更多 >
编程相关推荐