Ответ 1
$("#bdiv").load("bosses.php #icc10n",function(data){
// use the data param
// e.g. $(data).find('#icc10n')
});
Я видел много вопросов и решений таких проблем, но ничего не сработало для меня. У меня есть это:
function() {
$("#bdiv").load("bosses.php #icc10n",function(){
return $("#bdiv").html();
});
}
Но он не работает. Чтобы уточнить, я хочу загрузить содержимое в #bdiv
, а затем вернуть содержимое #bdiv
. Но кажется, что $("#bdiv").html()
возвращается до загрузки содержимого, даже если я включил его в функцию обратного вызова.
$("#bdiv").load("bosses.php #icc10n",function(data){
// use the data param
// e.g. $(data).find('#icc10n')
});
Насколько я знаю, вы не можете сделать оператор return в функции обратного вызова методов $.ajax(), $.post(), $.get() и т.д. Однако вы можете сохранить значение "данных" в переменной, объявленной вне функции, а затем установить значение этой переменной при выполнении функции обратного вызова. И есть множество других вариантов.
Вы не можете этого сделать.
AJAX является асинхронным, что означает, что ваша функция вернется, прежде чем сервер отправит ответ.
Вы должны передать значение своему вызывающему абоненту с помощью обратного вызова, как это делает $.load
.