gpt4 book ai didi

php - 加速ajax/javascript,目前检索数据时滞后太多。一定有更好的方法

转载 作者:行者123 更新时间:2023-11-28 13:52:46 25 4
gpt4 key购买 nike

我使用 ajax 请求用用户填写的数据填充模式弹出窗口。弹出窗口只是我用 jquery 显示/隐藏的 div 布局。这个过程肯定有一些延迟。因为让弹出窗口等待数据被检索会破坏用户流程,因为等待某些事情发生很容易需要 4 秒。所以我打开弹出窗口,然后进行 ajax 调用。当数据被填充时,这里有几秒钟的滞后时间。我也不确定预填充数据是否有意义,因为根据用户正在做的事情,可能会出现许多不同的数据组合。被调用的查询都相当简单。

我知道必须有更好的方法来做到这一点。而且我知道,每次我需要检索数据时,当前都会进行几次调用,而不是在一次调用中返回所有内容的强大的类定义,这并没有帮助。但过了那一步,我不知道该怎么做。

这是众多示例之一。我将像这样进行 ajax 调用:

openPopup();

Ext.Ajax.Request({
action: 'retrieve_last_config',
stage_id: stage_id,
success_fn: function(response) {
Ext.each(response.config_data, function(result) {
if(result != null) {
$('#stage-due-date').html(result.date_due);
$('#stage-email-body').html(result.email_body);
}
});
}
}); //end ajaxRequest

上面将一个 id 传递给一个如下所示的函数:

function retrieve_last_config($request) {

$last_config = stage_config::getLatest($request->db, "WHERE stage_id='{$request->stage_id}'");

foreach ( $last_config as $config ) {
$config_data[] = array(
'id' => $config->id,
'stage_id' => $config->stage_id,
'template_id' => $config->template_id,
'date_due' => convertDateFormat($config->date_due),
'email_body' => $config->email_body,
'send_email' => $config->send_email,
'create_date' => convertDateFormat($config->create_date),
);

}

return json_encode(array('status' => 'OK', 'config_data' => $config_data));
}

我很乐意通过类定义等进行更深入的挖掘。但我认为这会提供足够的想法。就我的方法而言,我是否偏离了基地?感谢任何帮助,谢谢!

最佳答案

高级方法很好。对于性能问题,您首先要测量时间花费在哪里。如果没有这些详细信息,我们都可以推测,但无论如何您都需要实际测量所有这些。

您想回答的问题:

  • 检索服务器上的数据花费了多少时间?
  • 进行 json_encode 花费了多少时间?
  • 有多少数据通过网络传输?
  • 这需要多长时间?

回答这些问题,您就会知道要解决什么问题。

关于php - 加速ajax/javascript,目前检索数据时滞后太多。一定有更好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9844619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com