Flask:用客户端数据更新模板
Flask: Updating template with client side data
我正在研究一个项目,其中用户在访问url时显示餐馆(rest objs)的默认列表。如果用户选择使用HTML5地理功能提交他们的位置,我希望更新结果列表,使其按照与用户位置的接近程度排序。
初始模板渲染成功,我可以将数据返回到服务器-我只是不能重新渲染模板。当我在开发控制台中预览对客户端帖子的响应时,数据已更新,但当我转到页面时,没有任何更改。
我知道我可能犯了一个愚蠢的明显的错误,我只是不知道这是什么。
这是我的观点:
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>
谢谢你的帮助!
看起来你正在调用$('.restlist').html(data)
,但在html中你的div有id="restlist"
而不是类。可以试试$('#restlist').html(data)
相关文章:
- 更新数据,而不是用javascript和jquery将其添加到我的表中
- JQGrid使用服务器编辑后的更新数据刷新数据
- 使用odata 4的jaydata 1.5和保存/更新数据时的错误
- 使用引导时间选取器时,没有更新数据ng模型值
- AngularJS中超时后没有更新数据
- jQuery动态更新数据键和值
- 在简单的可重用 D3 图表中更新数据
- Node/Express 无法正确更新数据模型
- 如何在jQuery中的单个保存按钮上更新数据和添加数据
- 如何使用Jquery更新数据确认属性中的消息
- 更新数据后保留D3图的位置
- 使用$watch更新数据,ng重复不反映更改
- 在OpenCart中,我们如何实时更新数据
- 表单在每个页面中 - 仅在特定页面上处理它 - 如果当前不在页面上 - 重定向 - 否则 - 使用 AJAX 更新数据
- 调整窗口大小时更新数据属性
- Firebase赢得't更新数据
- Rails和jQuery-尝试使用setTimeout主动更新数据
- Lawnchair.js未更新数据
- 更新数据时的React.js生命周期
- enter() 和 exit() 如何检测 D3 中的更新数据