使用AJAX在jinja2 Framework for Python中动态加载行
我正在尝试在用户到达页面结束时动态加载新内容.我的网络应用程序使用gae-
python.我用ajax& jquery在html中更新查询.
HTML: {% block content %} <div class="hero-unit special-padding"> {% for h in hots %} {{ h.imageid.get().render() | safe }} {% endfor %} {% include 'pager.html' %} </div> {% endblock %} Jquery& AJAX: $(window).scroll(function () { if ($(window).scrollTop() + $(window).height() > $('.hero-unit').height() - 100 && !isLoading) {$('#loadpage').click(function() { var page=$('#loadpage').attr('name'); $.ajax({ type: "POST",dataType:"json",url: '/loadpage',data : {'page': page},success: updatehtml,}); return false; }); }); function updatehtml(e){ for (var i = 0; i < e.length; i++) { var html= "{{ "+e[i]['imageid']+".get().render() | safe }}"; $('.hero-unit').append(html); } } 我序列化数据存储区实体并传递为json.它将使用更新HTML {{ datastoreKey.get().render()|safe }} 现在我希望jinja2框架在ajax更新我的HTML时调用python函数.render(). 我知道它可以通过在javascript中编写整个HTML代码来完成,但我想知道是否还有其他简单/更好的方法来完成它. 解决方法function updatehtml(e){ for (var i = 0; i < e.length; i++) { var html= "{{ "+e[i]['imageid']+".get().render() | safe }}"; $('.hero-unit').append(html); } } 当有人请求您的URI时,只会呈现一次. 所以行var html =“{{”e [i] [‘imageid’]“.get().render()| safe}}”;将被呈现并包含对您的porpuse的无效呈现. 你需要用你的lodapage处理程序用html响应才能做到这一点. 之后,你可以只使用你可以从e参数中轻松获得的html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |