Показать сообщение отдельно
  #1 (permalink)  
Старый 03.01.2015, 02:18
Аспирант
Отправить личное сообщение для Dtri Посмотреть профиль Найти все сообщения от Dtri
 
Регистрация: 14.12.2014
Сообщений: 86

как избавиться от задержки при выполнении функции?
Здравствуйте.

создаю функцию:

function sendAreas(stringClass, stringVar, value) {
        $('#'+stringClass).on('click',function(){
            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: sendFormAb($('#serviceType_1').val()),
                success: function(jsonVars){
        
                    stringVar = value;
                    $(function() {
                        $('#'+stringClass).autocomplete({
                            source:[stringVar]
                        });
                    });
                },
                error:  function(){
                    alert("Сбой при передаче");
                },
                complete: function(){
                    $('#'+stringClass).focus();
                    }
            });
        });
    };


и потом вызываю её.
sendAreas('doctor',doctor, jsonVars.doctor);


она выполняется с задержкой в 2 секунды. Но если я делаю всё просто подставляя вручную, выполнение происходит мгновенно:

$('#doctor').on('click',function(){
                    $.ajax({
                        type: "GET",
                        url: "JSON.php",
                        data: sendFormAb($('#serviceType_1').val()),
                        //beforeSend: $("#results").html(""),
                        success: function (jsonVars) {

                            doctor = jsonVars.doctor;
                            $(function() {
                                $("#doctor").autocomplete({
                                    source:[doctor]
                                });
                            });

                        },
                        error: function(){
                            $("#results").html("Сбой при приёме данных");
                        },
                        complete: function(){
                            $('#doctor').focus();
                        }
                    });
            });


В чём ошибка?
Ответить с цитированием