0
我正在开发一个项目,在该项目中,用户在访问网址时显示餐馆的默认列表(其余为objs)。如果用户选择使用HTML5 geoloc功能提交他们的位置,我想更新结果列表以使其按照用户位置的接近度进行排序。烧瓶:使用客户端数据更新模板
初始模板呈现成功,我可以获取数据回服务器 - 我只是不能重新呈现模板。当我在开发控制台中预览对我的客户端帖子的响应时,数据会更新,但是当我进入页面时没有任何更改。
我知道我可能犯了一个愚蠢的错误,我只是不知道它是什么。
这是我的观点:
def home():
if request.method == 'POST':
lat = request.form.get('lat','')
lng = request.form.get('lng','')
query = loc_query(lat,lng,10,0,20)
rests = Rest.query.from_statement(query).all()
return render_template('main.html',rests = rests)
else:
rests = getLatest(5)#Get 5 random rest objects
return render_template('main.html',rests = rests)
这里是我的客户端脚本:
<script type="text/javascript">
function sendloco (loc) {
$.post('/latest',{lat:loc.coords.latitude,lng:loc.coords.longitude},
function(data){
$('#restlist').html(data);
});
};
navigator.geolocation.getCurrentPosition(sendloco);
</script>
这里是我的模板的相关部分:
<div class="col-lg-12" id="restlist">
{% for rest in rests %}
<h2><b><a href="{{ url_for('profile',id=rest.id)}}">{{ rest.name }}</a></b></h2>
<h3>Date:{{ rest.latestDt() }}</h3>
<h3>{{ rest.street }}</h3>
{% endfor %}
</div>
Thansk FO的帮帮我!
嘿,谢谢@ jsm1th是好赶上(代码更新)。我仍然有同样的问题。 – user2957824
@ user2957824你可能没有完整的代码可用吗? – jsm1th