Функция обратного вызова JQuery.load()

Я видел много вопросов и решений таких проблем, но ничего не сработало для меня. У меня есть это:

function() {
    $("#bdiv").load("bosses.php #icc10n",function(){
        return $("#bdiv").html();
    });
}

Но он не работает. Чтобы уточнить, я хочу загрузить содержимое в #bdiv, а затем вернуть содержимое #bdiv. Но кажется, что $("#bdiv").html() возвращается до загрузки содержимого, даже если я включил его в функцию обратного вызова.

Ответы

Ответ 1

$("#bdiv").load("bosses.php #icc10n",function(data){
    // use the data param
    // e.g. $(data).find('#icc10n')
});

Ответ 2

Насколько я знаю, вы не можете сделать оператор return в функции обратного вызова методов $.ajax(), $.post(), $.get() и т.д. Однако вы можете сохранить значение "данных" в переменной, объявленной вне функции, а затем установить значение этой переменной при выполнении функции обратного вызова. И есть множество других вариантов.

Ответ 3

Вы не можете этого сделать.

AJAX является асинхронным, что означает, что ваша функция вернется, прежде чем сервер отправит ответ.
Вы должны передать значение своему вызывающему абоненту с помощью обратного вызова, как это делает $.load.