JQuery AJAX вызов не перестает повторяться снова и снова - PullRequest
1 голос
/ 10 июня 2011

Привет всем, у меня никогда не было проблемы, которую я не могу решить с помощью Google ... Так вот код:

function loadData(url, type){
        loading_show();  
        var quality = getCheckedRadio();
        $.ajax
        ({
            type: "POST",
            url: "http://.../core.php",
            data: "url="+url +"&quality="+quality +"&type="+type,
            success: function (msg)
            {
                $("#url").ajaxComplete(function(event, request, settings)
                {
                    //loading_hide();
                    //$("input[type=button]").removeAttr("disabled");         
                    $("#url").html(msg);
                    window.onload=$("#url").fadeIn('slow');
                });
            }
        });
        return false;
}
function getmp3(id){
        var quality = getCheckedRadio();
        $.ajax
            ({
                type: "POST",
                url: "http://.../core.php",
                data: "id="+id +"&quality="+quality,
                success: function (msgs)
                {
                    $("#dload").ajaxComplete(function(event, request, settings)
                    {
                        loading_hide();
                        $("input[type=button]").removeAttr("disabled");         
                        $("#dload").html(msgs);
                        window.onload=$("#dload").fadeIn('slow');
                    });
                }
            });
}

Итак, первая функция работает отлично, core.php возвращаетнекоторые html-данные и javascript: «getmp3 ('bla');", поэтому он запускает вторую функцию.Проблема заключается в том, что $ .ajax в функции 'getmp3' повторяется снова и снова, и это затопляет браузер.Он делает то, что должен, но не перестаёт звонить снова и снова.

1 Ответ

0 голосов
/ 10 июня 2011

Вам не нужны функции ajaxComplete, вы можете поместить код непосредственно в функцию успеха.

function loadData(url, type){
        loading_show();  
        var quality = getCheckedRadio();
        $.ajax
        ({
            type: "POST",
            url: "http://.../core.php",
            data: "url="+url +"&quality="+quality +"&type="+type,
            success: function (msg)
            {
                    //loading_hide();
                    //$("input[type=button]").removeAttr("disabled");         
                    $("#url").html(msg).fadeIn('slow');
            }
        });
        return false;
}
function getmp3(id){
        var quality = getCheckedRadio();
        $.ajax
            ({
                type: "POST",
                url: "http://.../core.php",
                data: "id="+id +"&quality="+quality,
                success: function (msgs)
                {
                        loading_hide();
                        $("input[type=button]").removeAttr("disabled");         
                        $("#dload").html(msgs).fadeIn('slow');
                }
            });
}
...