我看到很多类似这样的问题和解决方案,但是没有一个对我有用。我有这个:
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')
});
你不能那样做。
AJAX是“异步”的,这意味着服务器发送响应之前,您的函数将返回。
您需要使用回调将值传递给调用者,就像$.load
一样的方式。
return
语句是从内部回调方法返回的;这个返回值被jQuery忽略了。外部函数立即返回。 - SLaks