php - 停止数据库读取阻止 web ui 渲染

标签 php mysql ajax web-services web

我有一个正在构建的 PHP 网络服务。

我可以看到问题迫在眉睫,并希望在编写过多代码之前获得一些关于如何解决它的意见。

我有 14 个站点,每个站点都包含一个 mysql 数据库实例,该实例由另一个自定义 perl 脚本更新。

为了将这些数据整合到一个单一的网络前端,我正在尝试编写一个执行以下操作的 php 网页。

在首页上,Web 服务器连接到所有 14 个数据库服务器并拉回它需要的信息,然后将其呈现在页面上。目前这可以完美地工作,因为所有数据都保存在我的本地机器上,但在生产中,这些数据将分布在 14 个独立的数据库中。

所以我的问题是,从 UI 绘画中提取数据库读取的最佳方法是什么。理想情况下,我希望呈现完整的网页,并带有一个加载栏,指示用户何时可以期望显示数据。

这是否可以通过 AJAX 实现,或者我应该转向另一个方向。

提前致谢。

最佳答案

我会做这样的事情:

  • 创建一个可以从 AJAX 调用的小型 php 代理,因为您无法使用 AJAX 连接到其他网站
  • 显示元素为空的完整页面布局
  • 一旦 DOM 准备好使用 AJAX 就开始显示元素
  • 一旦您开始从函数加载数据,每个元素都会有一个加载栏

例如:

 ___________________________________
| data_1 | data_2 | data_3 | data_4 |
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

启动函数 loadData1() 将用加载栏替换 data1_id 并启动 AJAX 调用

 ___________________________________
| ...... | data_2 | data_3 | data_4 |
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

其他元素同理

关于php - 停止数据库读取阻止 web ui 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12107950/

相关文章:

php - 制作一个php库,如何使其独立?

php - 所选菜单项的浮点线颜色

yii - 选择高性能PHP5框架

mysql - 汇总不同组的每个 ID 的结果

javascript - 值没有从一个动态下拉框传递到 php 中的另一个动态下拉框

php - 如何从自定义模板中包含帮助文件?

mysql - 使用SQL获取具有相同id的最高项目

php - 显示来自 MySQL 数据库的唯一值

javascript - node.js express js flash 消息 ajax

jquery - 使用 jQuery 获取随机项