小编典典

如何在不重新加载页面的情况下获取数据库数据?

sql

我想做一个常见问题面板,当用户问它在部门顶部显示的任何问题而无需重新加载页面时,我想我必须每隔几秒钟就与数据库建立连接。现在的问题是,如何在不重新加载页面的情况下建立连接,以及如何显示新问题?


阅读 166

收藏
2021-04-14

共1个答案

小编典典

您有两种选择:

  1. Ajax,它允许您使用JavaScript从服务器检索数据,然后可以使用它来操作DOM。Ajax的基础是XMLHttpRequest对象,它使您可以在JavaScript中完全检索后台数据。请注意,Ajax受同一起源策略的限制,但是对于您所描述的情况,这很好-您将从同一起源加载数据。

  2. 框架(例如iframe元素),您可以通过设置框架的src属性将其加载到其中。

在这两者之间,Ajax更加灵活。

参考资料/进一步阅读:


旁注:尽管显然您可以XMLHttpRequest直接使用和DOM方法,但是请注意,存在跨浏览器的差异(以及彻底的错误),可以通过jQueryPrototypeYUIClosure任何其他不错的库为您平滑这些差异。在其他几个人中。它们还提供了许多有用的实用程序功能,使您可以专注于要解决的实际问题,而不必关注管道的详细信息。

例如,以下是使用jQuery向服务器发送Ajax请求并使用服务器发送回的HTML片段更新页面上的元素的方式:

$("#target").load("get_the_data.php", {article: x});

就是说:请求一个HTML片段,get_the_data.php将参数articlex变量值一起发送给它,然后将该HTML片段放入具有HTML
id“目标”的元素中。如果您不使用库,那将是十行不错的代码。现在,这不是很多,但要反复重复(并在此过程中,通过IE查找围绕元素的IE错误id),您将了解如何将其累加。

我确实建议您阅读上面的参考资料,以便您知道库是如何做的(这不是魔术),但是没有理由不利用人们所做的辛勤工作来简化这些工作。

2021-04-14