在文档就绪时做Ajax功能

时间:2016-03-16 09:14:10

标签: javascript jquery ajax

当文档准备好填充选择字段时,我正在尝试执行Ajax调用。我的Ajax调用如下所示:

$(document).ready(function(){
    var marke = $('#marke').val();
    $.ajax({
        type: "POST",
        url: '?eID=getBrand',
        data: { marke : marke },
        success: function(result) {
            $('#modellinput').html(result);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert('ERROR:'+errorThrown);
        }
    });
    return false;
});

但是,这只适用于某些操作(例如点击或更改),但不适用于文档准备就绪的情况。任何解决方案?

2 个答案:

答案 0 :(得分:0)

您可以将(document).ready函数与您要使用的函数分开,以便在文档准备就绪后运行该函数。

(function(window, undefined){

    function initYourFunction() {
        var marke = $('#marke').val();
        $.ajax({
            type: "POST",
            url: '?eID=getBrand',
            data: { marke : marke },
            success: function(result) {
                $('#modellinput').html(result);
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('ERROR:'+errorThrown);
            }
        });
        return false;
    }

    $(document).ready(function(){
        initYourFunction();
    });    
})(window);

希望这个答案

答案 1 :(得分:-1)

尝试使用$(window).load(function(){...})代替$(document).ready(function(){...})

    $(window).load(function(){
        var marke = $('#marke').val();
        $.ajax({
            type: "POST",
            async: false,
            url: '?eID=getBrand',
            data: { marke : marke },
            success: function(result) {
                $('#modellinput').html(result);
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('ERROR:'+errorThrown);
            }
        });
        return false;
    });  
当DOM准备好时,

ready执行,但load等待整个页面准备就绪。