AJAX 响应非常慢
Posted
技术标签:
【中文标题】AJAX 响应非常慢【英文标题】:Very slow AJAX response 【发布时间】:2014-08-07 00:34:10 【问题描述】:我正在开发 php CodeIgniter。通过单击客户名称,我调用了一个 javascript 函数 customerBasic
用于其他目的,该函数还调用了 show_cs_info
,将 AJAX 调用发送到控制器,如下所示。
AJAX 函数:
function customerBasic(customer_id,isConsumer, name )
document.getElementById('random').value = customer_id+"/"+name;
$.ajax(
url: site_url+"customer/connections/index/"+customer_id+"/"+0+"/"+isConsumer,
type: 'post',
success: function(data)
show_cs_info(customer_id);
);
show_cs_info
函数:
function show_cs_info(id)
$.ajax(
url:site_url+"customer/customer/show_cs_info"+"/"+id+"/"+'no',
type:'post',
success:function(data)
$('#right_div').html(data);
);
控制器
public function show_cs_info($id, $bit)
$id = urldecode($id);
$bit = urldecode($bit);
$this->load->model('customer_model');
$data['val']= $this->customer_model->show_cs_info($id);
$this->load->view('show_cust_info_view',$data);
型号
public function show_cs_info($id)
$this->db->where('customer_id',$id);
$result = $this->db->get('customer_info');
return $result->result();
AJAX 调用需要 1.05 秒。我怎样才能让它更快?
【问题讨论】:
放置一些记录器来查找耗时更多的地方。然后尝试优化那部分代码。 请告诉我ajax响应速度慢的原因? 它可能是服务器端(单独测试),您的应用程序需要时间来响应或浏览器端 javascript 需要时间,即使是太多的 ajax 调用也可能是问题。 我正在开发一个对每个链接使用 ajax 调用的大项目。我不知道为什么 ajax 调用通话时间过长有时需要 2.05 秒。我检查数据库查询是否正常工作,并单独测试 ajax 调用,它工作得很快!我找不到这个问题的任何解决方案....请帮助我!!! 慢到底是什么?一个网络?脚本执行? 【参考方案1】:您正在执行没有任何数据的 ajax 发布请求。发布请求旨在引起服务器反应,因此速度较慢。因此,将type
设置为“获取”会在一定程度上加快您的请求速度。
【讨论】:
【参考方案2】:实际上,如果数据库服务器在另一台服务器上,您需要检查网络连接并尝试消除网络延迟..... 在其他情况下,如果您在本地服务器上工作并且在同一台机器上拥有 Web 和 DB 服务器,则检查 mysql 上的 CPU 使用率和工作负载,它可能由于某些查询而被卡住...... 进一步升级您的服务器和 MySQL 版本等......
【讨论】:
以上是关于AJAX 响应非常慢的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 10 Storyboard 非常慢到没有响应的地步
Visual Studio 2005 网站管理工具的响应非常慢