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 响应非常慢的主要内容,如果未能解决你的问题,请参考以下文章

php响应变得非常慢(使用mysql)

Xcode 10 Storyboard 非常慢到没有响应的地步

Visual Studio 2005 网站管理工具的响应非常慢

非常慢(~1000ms)的响应时间。赫罗库。节点.js。蒙古实验室。几乎啥都不做

Win10桌面右键响应非常慢怎么办?

AJAX从入门到放弃