使用jquery ajax时出现html()问题
load.php使用jquery ajax时出现html()问题,jquery,ajax,Jquery,Ajax,load.php <h2>Envato is 3!</h2> Envato是3! index.php <input type="button" value="load" id="load_basic" /> <div id="result" class="functions"> </div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jq
<h2>Envato is 3!</h2>
Envato是3!
index.php
<input type="button" value="load" id="load_basic" />
<div id="result" class="functions">
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
</script>
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img class='loading' src='img/load.gif' alt='loading...' />";
// load() functions
var loadUrl = "ajax/load.php";
$("#load_basic").click(function(){
$("#result").html(ajax_load).load(loadUrl);
console.log($("#result").html());
});
</script>
$.ajaxSetup({
缓存:false
});
var ajax_load=“”;
//load()函数
var loadUrl=“ajax/load.php”;
$(“#加载_基本”)。单击(函数(){
$(“#结果”).html(ajax#u load).load(loadUrl);
log($(“#结果”).html();
});
在前端,当我在chrome->console中单击按钮时,它显示:
<img class="loading" src="img/load.gif" alt="loading...">
问题:
Envato是3因为.load()
已经将内容放入#result
console.log($(“#result”).html()代码>显示结果:
,但为什么在前端,当我使用firebug时,看不到img元素:load.gif
如果要使用AJAX调用的结果,必须在回调函数中执行:
$("#load_basic").click(function(){
$("#result").html(ajax_load).load(loadUrl, function() {
console.log($("#result").html());
});
});
AJAX是异步的。您的
console.log()
在AJAX调用完成之前运行。把它放在回调函数中。谢谢,但我还是不知道为什么。我知道AJAX是异步的。但是为什么在AJAX调用完成之前运行console.log()
?在脚本中,它位于ajax调用行之后。你能再给我解释一下吗?谢谢这就是“异步”的意思。调用.load()
只会启动AJAX调用,而不会等待它完成。