在不更改页面的情况下处理查询

时间:2011-08-11 21:14:44

标签: django

我们有一个在数据库中进行一些查询后动态生成的页面。有一些链接,当用户点击它们时,更新数据库上的一些信息,但它们在网页上没有任何改变(或显示离散消息)。

我们如何在不重新渲染的情况下保持同一页面?

理想情况下,相应的view.py会处理查询并更新数据库,但不会更新网页。

3 个答案:

答案 0 :(得分:1)

您需要使用用户的操作将AJAX调用回服务器,并在服务器上处理它。您可能需要一个不同的视图来处理AJAX请求 - 您可以使用相同的视图来执行它,但它会有些愚蠢。该视图的响应包含数据(可能是JSON)或HTML,您使用javascript在页面上显示。查看jquery - 这对客户端来说非常棒。

答案 1 :(得分:1)

您可以发送和接收自己的XMLHttpRequest,但这样做太多了,IE会产生很多问题。

你听说过jQuery吗?我强烈建议您查看它并了解如何使用它发送和接收Ajax请求。

答案 2 :(得分:0)

您可以使用普通的Javascript和AJAX来完成此任务。当用户单击链接时,使用XMLHttpRequest调用view.py来处理查询。

例如。对于链接:<a href="#" onclick=submitdb(); >Click me!</a>

有关使用Javascript实现AJAX(XMLHttpRequest)的教程,请看一下:

http://www.quirksmode.org/js/xmlhttp.html