【发布时间】:2013-05-08 20:24:48
【问题描述】:
我正在金字塔中创建一个网络项目,我想每隔几秒更新一次表格。我已经决定使用 ajax,但我遇到了一些问题。
在客户端我使用以下代码:
function update()
{
var variable = 'variable ';
$.ajax({
type: "POST",
url: "/diagnose_voorstel_get_data/${DosierID}",
dataType: "text",
data: variable ,
success: function (msg) {
alert(JSON.stringify(msg));
},
error: function(){
alert(msg + 'error');
}
});
}
金字塔一侧:
@view_config(route_name='diagnose_voorstel_get_data', xhr=True, renderer='string')
def diagnose_voorstel_get_data(request):
dosierid = request.matchdict['dosierid']
dosieridsplit = dosierid.split
Diagnoses = DBSession.query(Diagnose).filter(and_(Diagnose.code_arg == str(dosieridsplit[0]), Diagnose.year_registr == str(dosieridsplit[1]), Diagnose.period_registr == str(dosieridsplit[2]), Diagnose.staynum == str(dosieridsplit[3]), Diagnose.order_spec == str(dosieridsplit[4])))
return {'Diagnoses ' : Diagnoses }
现在我想使用 tal:repeat 语句将这些数据放入带有 zpt 的表中。 我知道如何在页面加载时将此数据放入表中,但我不知道如何将其与 ajax 结合使用。
anny1 能帮我解决这个问题吗?非常感谢。
【问题讨论】:
-
AJAX 是一种浏览器端技术。您将使用 JavaScript 构建表格,而不是使用 ZPT。 ZPT 在服务器端运行,并且在浏览器加载结果时已经完成。
-
所以不可能使用 ajax 调用用新数据重新加载页面?是的,我确实如此,但我只是在与专业人士核实。谢谢你的答案。
-
您也可以使用 AJAX 重新加载页面,并使用 ZPT 构建该响应服务器端。但与其他回复相比,这并没有什么特别之处。
-
我认为除了使用 javascript 等之外,这将是唯一的方法。感谢您抽出宝贵时间 Martijn,一如既往地为您提供了很大的帮助 :)
标签: ajax pyramid zope chameleon template-tal