0

我正在创建一个小型 Web 应用程序,我想从服务器上的 SQL 数据库更新字段上的最新数据,而不刷新整个页面。这可能吗?如果可以,我该怎么做?

我想我可以不时地使用 jQuery 来刷新整个页面,但我认为这不是很明智,尤其是在较重的网站上,因为这会导致大量流量。相反,我想用数据库中的最新数据更新几个字段。

var refresh = function() {
   location.reload(true);
}

$(document).ready(function() {
   setTimeout(refresh, 10000);
});

到目前为止,这就是我所拥有的。

我发现了另一个类似的问题,有人建议使用 XMLHttpRequest。是否可以使用它从 SQL 数据库中获取一些数据?

此外,当试图找出可能的 XMLHttpRequest 解决方案时,我发现可以通过使用一些 .ASP 文件将该 XMLHtppRequest 转换为 SQL 查询,但据我所知,整个过程需要一些 Microsoft 服务器框架和无论如何,与我正在编程的整个应用程序的大小和目的相比,这似乎是相当艰难和艰难的道路。尤其是当我的整个站点都在 Linux 上运行时。

此外,我读过很多关于 websockets 和观察者模式的文章。从理论上讲,声音很棒,正是我需要的,但是,我对这些东西还很陌生,如果可以避免的话,我还不想那样做。但是,如果有一些简单的方法可以做到这一点并且有人可以向我展示一个很好的教程,我也会很高兴。

但目前我主要是在寻找一种方法来进行“旧式民意调查”,无论它多么无效。我认为这仍然比重新加载整个页面更好。

非常感谢所有类型的建议。

4

2 回答 2

1

我觉得你想多了这个问题。这是一个已解决的问题,现在几乎所有网站都在使用它:使用 AJAX。JQuery 有一个内置的 ajax 功能,可以很容易地发送 ajax 请求。

在服务器端,创建一个 url 端点。理想情况下,您将拥有存储在数据库中的每个资源的唯一端点。例如:

http://mywebsite.com/book/?uid=124234

这个 url 理论上会为 ID 为 124234 的书提供一个 CRUD 接口。你可以通过发出一个 POST 请求来更新这个对象。或者您可以通过发出 GET 请求来获取其所有数据。

我希望这有帮助。

于 2012-09-17T17:18:30.160 回答
0

如果您在框架中使用 Django,那么我建议您查看django-socketio

于 2012-09-17T17:20:35.990 回答