Javascript Flask:使用客户端数据更新模板

Javascript Flask:使用客户端数据更新模板,javascript,jquery,geolocation,flask,Javascript,Jquery,Geolocation,Flask,我正在做一个项目,在这个项目中,当用户访问url时,会显示一个默认的餐厅列表(rest OBJ)。如果用户选择使用HTML5 geoloc功能提交他们的位置,我想更新结果列表,使其按用户位置的接近程度排序 初始模板渲染成功,我可以将数据返回到服务器-我无法重新渲染模板。当我在开发控制台中预览对我的客户机帖子的响应时,数据会更新,但当我转到页面时,没有任何更改 我知道我可能犯了一个愚蠢的明显错误,我只是不知道那是什么 以下是我的看法: def home(): if request.meth

我正在做一个项目,在这个项目中,当用户访问url时,会显示一个默认的餐厅列表(rest OBJ)。如果用户选择使用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>

函数sendloco(loc){
$.post('/latest',{lat:loc.coords.latitude,lng:loc.coords.longitude},
功能(数据){
$('#restlist').html(数据);
});                 
};
navigator.geolocation.getCurrentPosition(sendloco);
以下是我的模板的相关部分:

<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>

{rest%中的rest为%1}
日期:{{rest.latestDt()}}
{{rest.street}
{%endfor%}

谢谢你的帮助

看起来您正在调用
$('.restlist').html(数据)
,但在html中,您的div没有类。也许可以尝试
$('#restlist').html(数据)

嘿,谢谢@jsm1th是的,很好的捕获(代码更新)。我仍然有同样的问题。@user2957824您在git上没有完整的代码,是吗?