从mySql DB检索数据时,Jquery .ajax()调用太慢

时间:2012-10-30 18:14:40

标签: jquery ajax

我使用jquery模式表单制作表单,表单有用户信息,如姓名,姓氏等。我通过jquery .ajax添加一个新用户,它的工作都很好,它将用户添加到de db(mysql )并自动将其添加到正在显示的用户列表中,这里没有任何问题..

我的用户列表中有一个编辑按钮,当我按下按钮时,会弹出一个模态提交表单,其中包含该用户的信息。这里是我的问题弹出的地方,它做得很好,但是当我点击编辑按钮时,弹出模态表单并在1或2秒后用户信息显示在文本字段上,这实际上是否足够好?还是必须立即这样做?它有点慢......

这是我用于编辑用户的ajax调用:

$('body').on('click', '#listaUsuariosOK a', function (e){
    e.preventDefault();

    var accion = $($('#accion').val('editUser')).val();
    var id = $($('#id_user').val($(this).attr('href'))).val();

    $('#agregarUsuario').dialog('open');

    $.ajax({
        cache:false,
        type: "POST",
        dataType:"json",
        url: CI.base_url + 'admin/agregarUsuario',
        data: "&id=" + id + "&accion=" + accion,
        success: function(response){
                if(response.respuesta == 'error'){
                    //Display Error
                }else{
                    $('#text_nombre').val(response.nombre);
                    $('#text_apellido').val(response.apellidos);
                    $('#text_email').val(response.email);
                    $('#depto').val(response.depto);
                }
        } //Success End
    });//.ajax Ends
});//$('body') call Ends

我发一个帖子调用发送用户的id进行编辑,然后在我的php上我查询该id并通过json_encode()返回数据

如何让响应时间更快? 非常感谢...(我是ajax btw hehe的新手)

2 个答案:

答案 0 :(得分:2)

AJAX不太可能是这里的问题。您的数据库很可能运行缓慢或网络速度很慢。 AJAX的速度完全取决于往返服务器所需的时间,以及服务器处理请求的操作/网址所需的时间。

因此,请检查您的服务器负载量,并尝试提高您在AJAX帖子中执行的操作的吞吐量。这是寻找AJAX速度改进的最佳位置(因为您无法真正加快网络延迟......)

答案 1 :(得分:0)

您要查询的数据库有多大?问题可能是服务器端而不是javascript相关....尝试使用http://php.net/manual/en/function.microtime.php调用调试您的PHP代码,可能有助于定义脚本缓慢的位置。我的猜测是数据库连接或查询。